{
 "cells": [
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "# 获取大模型",
   "id": "c8c49a56d454314e"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-11-13T11:25:21.574251Z",
     "start_time": "2025-11-13T11:25:21.537206Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import dotenv\n",
    "import os\n",
    "\n",
    "import langchain.agents\n",
    "import langchain.hub\n",
    "import langchain.memory\n",
    "import langchain_core.prompts\n",
    "import langchain_experimental.utilities\n",
    "from langchain_openai import ChatOpenAI, OpenAI\n",
    "\n",
    "dotenv.load_dotenv()\n",
    "\n",
    "os.environ[\"OPENAI_API_KEY\"] = os.getenv(\"OPENAI_API_KEY\")\n",
    "os.environ[\"OPENAI_API_BASE\"] = os.getenv(\"OPENAI_BASE_URL\")\n",
    "CHAT_MODEL = ChatOpenAI(\n",
    "    model=\"gpt-4o-mini\",\n",
    "    temperature=0\n",
    ")\n",
    "\n",
    "llm = OpenAI(\n",
    "    model=\"gpt-4o-mini\",\n",
    "    temperature=0\n",
    ")"
   ],
   "id": "cf0fcccc99354825",
   "outputs": [],
   "execution_count": 3
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "# Agent中工具的使用\n",
    "## 传统方式\n",
    "### 案例1：单工具使用\n",
    "- 需求：今天北京的天气怎么样?\n",
    "- 使用Tavily搜索工具\n",
    "\t- Tavily的搜索API是一个专门为人工智能Agent(或LLM)构建的搜索引擎，可以快速提供实时、准确和真实的结果。\n",
    "\t- LangChain 中有一个内置工具，可以轻松使用 **Tavily 搜索引擎** 作为工具。\n",
    "\t- [Tavily官网地址](https://tavily.com/)\n",
    "\t- TAVILY_API_KEY申请：注册账号并登录，创建 API 密钥。"
   ],
   "id": "47c388cf7e2a5776"
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "#### 方式1：ReAct模式\n",
    "- AgentType是 ZERO_SHOT_REACT_DESCRIPTION"
   ],
   "id": "400d280814cc3cbe"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-11-13T11:25:49.741825Z",
     "start_time": "2025-11-13T11:25:45.748887Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import os\n",
    "\n",
    "import dotenv\n",
    "from langchain_community.tools import TavilySearchResults, Tool\n",
    "from langchain.agents import initialize_agent, AgentType\n",
    "\n",
    "# 加载环境变量\n",
    "dotenv.load_dotenv(override=True)\n",
    "\n",
    "# 设置api秘钥\n",
    "os.environ[\"TAVILY_API_KEY\"] = os.getenv(\"TAVILY_API_KEY\")\n",
    "\n",
    "# 初始化搜索工具\n",
    "search = TavilySearchResults(max_results=3)\n",
    "\n",
    "# 创建tool的实例\n",
    "SEARCH_TOOL = Tool(name=\"Search\",\n",
    "                   func=search.run,\n",
    "                   description=\"用于搜索互联网上的信息\")\n",
    "\n",
    "# 创建 AgentExecutor\n",
    "agent_executor = initialize_agent(\n",
    "    tools=[SEARCH_TOOL],\n",
    "    llm=CHAT_MODEL,\n",
    "    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,\n",
    "    verbose=True\n",
    ")\n",
    "\n",
    "query = \"今天北京的天气怎么样?\"\n",
    "result = agent_executor.invoke(query)\n",
    "print(f\"查询结果: {result}\")"
   ],
   "id": "8068f768de5a46e5",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m我需要查找今天北京的天气情况。  \n",
      "Action: Search  \n",
      "Action Input: '今天 北京 天气'  \u001B[0m\n",
      "Observation: \u001B[36;1m\u001B[1;3m[{'title': '北京今明天晴朗天气在线昼夜温差较大最低气温1℃左右 - 资讯', 'url': 'http://news.weather.com.cn/2025/11/4397732.shtml', 'content': '大\\n 中\\n 小\\n\\n分享到\\n\\n原创未经授权不得转载\\n\\n中国天气网讯 今明天（11月13日至14日）北京晴朗天气在线，昼夜温差较大，最高气温14℃，最低气温仅1℃左右。公众出行需注意防寒保暖，天气干燥谨防火灾。\\n\\n昨天早晨，北京大部地区有雾，能见度下降。下午至傍晚北风加大，能见度明显好转。同时，昼夜温差大，早晨最低气温3.1℃，午后最高气温超过了18℃。\\n\\n今天早晨，北京天气晴朗。（图/中国天气网王晓）\\n\\n今天，北京将以晴朗天气为主，最低气温降至1℃。北京市气象台预计，今天白天晴，北转南风二三级，最高气温14℃；夜间晴，南转北风一二级，最低气温1℃。\\n\\n明天，北京天气变化不大，晴朗继续在线，最高气温13℃，最低气温2℃。\\n\\n气象部门提醒，今明天北京最低气温仅1℃，公众需注意防寒保暖。同时，空气干燥，还需注意用火用电安全，谨防火灾。\\n\\n编辑：梁杰\\n\\n分享到\\n\\n查天气 关注 “中国天气网” 微信公众号、“中国天气”微博、“中国天气”抖音\\n\\n最新推荐\\n\\n查看更多\\n\\n高清图集\\n\\n 俯瞰江西遂川农田 田间蔬菜管护忙\\n 浙江金华十里桂花长廊醉秋光\\n 四川阿坝州九寨沟神仙池银装素裹\\n\\n原创策划 [...] 首页 预报 预警 雷达 云图 天气地图 专业产品 资讯 视频 节气 我的天空\\n\\n更多\\n\\n台风路径 空间天气 图片 专题 环境 旅游 碳中和 气象科普 一带一路 产创平台\\n\\n国内) 本地) 国际)\\n\\n:   北京 上海 成都 杭州 南京 天津 深圳 重庆 西安 广州 青岛 武汉\\n\\n:   故宫 阳朔漓江 龙门石窟 野三坡 颐和园 九寨沟 东方明珠 凤凰古城 秦始皇陵 桃花源\\n\\n选择省市\\n\\n高球\\n:   佘山 春城湖畔 华彬庄园 观澜湖 依必朗 旭宝 博鳌 玉龙雪山 番禺南沙 东方明珠\\n\\n<<返回 全国\\n\\n河北下辖区域\\n\\n周边城市\\n\\n周边景点\\n\\n本地乡镇\\n\\n热门城市\\n\\n:   曼谷 东京 首尔 吉隆坡 新加坡 巴黎 罗马 伦敦 雅典 柏林 纽约 温哥华 墨西哥城 哈瓦那 圣何塞 巴西利亚 布宜诺斯艾利斯 圣地亚哥 利马 基多 悉尼 墨尔本 惠灵顿 奥克兰 苏瓦 开罗 内罗毕 开普敦 维多利亚 拉巴特\\n\\n选择洲际\\n\\n:   亚洲 欧洲 北美洲 南美洲 非洲 大洋洲\\n\\n北京今明天晴朗天气在线 昼夜温差较大最低气温1℃左右\\n\\n2025-11-13 07:01:16 来源： 中国天气网\\n\\n字号', 'score': 0.99637836}, {'title': '北京天气预报,北京7天天气预报,北京15天天气预报,北京天气查询', 'url': 'https://www.weather.com.cn/weather/101010100.shtml', 'content': '首页 预报 预警 雷达 云图 天气地图 专业产品 资讯 视频 节气 我的天空\\n\\n更多\\n\\n台风路径 空间天气 图片 专题 环境 旅游 碳中和 气象科普 一带一路 产创平台\\n\\n国内) 本地) 国际)\\n\\n:   北京 上海 成都 杭州 南京 天津 深圳 重庆 西安 广州 青岛 武汉\\n\\n:   故宫 阳朔漓江 龙门石窟 野三坡 颐和园 九寨沟 东方明珠 凤凰古城 秦始皇陵 桃花源\\n\\n高球\\n:   佘山 春城湖畔 华彬庄园 观澜湖 依必朗 旭宝 博鳌 玉龙雪山 番禺南沙 东方明珠\\n\\n<<返回 全国\\n\\n河北下辖区域\\n\\n热门城市\\n\\n:   曼谷 东京 首尔 吉隆坡 新加坡 巴黎 罗马 伦敦 雅典 柏林 纽约 温哥华 墨西哥城 哈瓦那 圣何塞 巴西利亚 布宜诺斯艾利斯 圣地亚哥 利马 基多 悉尼 墨尔本 惠灵顿 奥克兰 苏瓦 开罗 内罗毕 开普敦 维多利亚 拉巴特\\n\\n:   亚洲 欧洲 北美洲 南美洲 非洲 大洋洲\\n\\n全国> 北京 > 城区\\n\\n 今天\\n 7天\\n 8-15天\\n 40天\\n 雷达图\\n\\n # 13日（今天）\\n\\n  晴\\n\\n  14/1℃\\n\\n  <3级\\n # 14日（明天）\\n\\n  晴 [...] 今天（11月5日），新疆北部的雨雪将进入最强时段，部分地方将现大到暴雪、甚至大暴雪，雨雪相态复杂。\\n 11月4日\\n\\n  ## 较强冷空气明起登场 新一轮雨雪天气将自西向东影响我国\\n\\n  今天（11月4日），南方降雨将明显减弱。明天，新一轮雨雪天气将在新疆率先登场，同时一股较强冷空气也将自西向东给大部地区带来大风降温天气。\\n 11月3日\\n\\n  ## 今明两天南方多地降雨连连 北方大部气温回升\\n\\n  今明两天（11月3日至4日），南方维持多雨格局，局地有大暴雨，多地还将出现明显降温。而在北方，大部地区雨雪不多，气温将快速回升。\\n 11月2日\\n\\n  ## 南方降雨降温部分地区有暴雨或大暴雨 北方多地气温起伏较大\\n\\n  今明天（11月2日至3日），我国东北地区和青藏高原的雨雪逐步缩减，但南方降雨发展增强，气温下降，体感湿凉。\\n 11月1日\\n\\n  ## 西南至江南地区阴雨发展增多 东北局地或现暴雪气温波动明显\\n\\n  今天，青藏高原东部的雨雪天气仍将持续，局地有暴雪。并且随着高原槽东移，今明两天，西南地区东部至江南等地的降雨也会自西向东逐渐发展。\\n\\n查看更多>>\\n\\n# 雷达图 [...] 无需担心过敏，可放心外出，享受生活。\\n 较冷 穿衣指数\\n\\n  建议着厚外套加毛衣等服装。)\\n 适宜 洗车指数\\n\\n  天气较好，适合擦洗汽车。\\n 中等 紫外线指数\\n\\n  涂擦SPF大于15、PA+防晒护肤品。\\n\\n# 天气资讯\\n\\n:   北京今明天晴朗天气在线 昼夜温差较大最低气温1℃左右  中国天气网 2025-11-13 07:01\\n\\n:   台风蓝色预警：“凤凰”今天将变性为温带气旋 东海等海域有大风  中国天气网 2025-11-13 06:05\\n\\n:   台风“凤凰”在台湾屏东县沿海登陆 或为今年登陆我国的末台风  中国天气网 2025-11-12 19:55\\n\\n:   台风蓝色预警：“凤凰”将于今晚在台湾岛西南部沿海登陆  中国天气网 2025-11-12 18:05\\n\\n:   今夜起四川降水增多 明后天盆地阴雨持续川西高原将现降雪  中国天气网 2025-11-12 16:59\\n\\n# 周边地区 | 周边景点 2025-11-13 07:30更新\\n\\n 香河\\n\\n  /\\n\\n  14/0°C\\n 涿州\\n\\n  /\\n\\n  15/0°C\\n 唐山\\n\\n  /\\n\\n  14/1°C\\n 沧州', 'score': 0.9941347}, {'title': '北京, 北京市, 中國三日天氣預報 - AccuWeather', 'url': 'https://www.accuweather.com/zh/cn/beijing/101924/weather-forecast/101924', 'content': '返回 \\n\\n# 北京, 北京市\\n\\n52°F   \\n\\n52°\\n\\n北京, 北京市 天氣\\n\\n今天 WinterCast 當地{stormName}追蹤 每小時 每天 雷達 MinuteCast® 每月 空氣品質 健康與活動\\n\\n### 颶風 ### 惡劣天氣 ### 雷達與氣象圖 ### 視訊\\n\\n## 今天  每小時   每天   雷達   MinuteCast®   每月   空氣品質   健康與活動\\n\\n## 目前天氣\\n\\nAM1:48\\n\\n52°F\\n\\nRealFeel® 45°\\n\\n晴朗  更多詳情\\n\\n風 西北 13英里/小时\\n\\n風速 13英里/小时\\n\\n空氣品質 一般 ## 展望未來\\n\\n天氣逐漸明顯轉涼週日\\n\\n## 北京 氣象雷達圖\\n\\nStatic Radar Temporarily Unavailable\\n\\nThank you for your patience as we work to get everything up and running again.\\n\\nRefresh Page\\n\\n有雲 溫度\\n\\n## 每小時預測\\n\\n上午2时  48°\\n\\n0%  上午3时  47° [...] 0%  上午4时  47°\\n\\n0%  上午5时  46°\\n\\n0%  上午6时  44°\\n\\n0%  上午7时  41°\\n\\n0%  上午8时  44°\\n\\n0%  上午9时  47°\\n\\n0%  上午10时  50°\\n\\n0%  上午11时  53°\\n\\n0%  下午12时  56°\\n\\n0%  下午1时  58°\\n\\n0%\\n\\n## 每日預報\\n\\n今天\\n\\n11/13\\n\\n60° 34°\\n\\n晴有薄霧\\n\\n晴朗\\n\\n0% 周五\\n\\n11/14\\n\\n60° 33°\\n\\n晴有薄霧\\n\\n晴朗\\n\\n0% 周六\\n\\n11/15\\n\\n60° 41°\\n\\n局部晴朗\\n\\n晴朗\\n\\n0% 周日\\n\\n11/16\\n\\n44° 28°\\n\\n刮風\\n\\n更冷\\n\\n0% 周一\\n\\n11/17\\n\\n42° 28°\\n\\n刮風\\n\\n晴朗\\n\\n0% 周二\\n\\n11/18\\n\\n51° 25°\\n\\n變暖\\n\\n晴朗\\n\\n0% 周三\\n\\n11/19\\n\\n59° 32°\\n\\n變暖\\n\\n局部多雲\\n\\n0% 周四\\n\\n11/20\\n\\n50° 29°\\n\\n更冷\\n\\n晴朗\\n\\n0% 周五\\n\\n11/21\\n\\n54° 34°\\n\\n陽光充足\\n\\n晴朗\\n\\n0% 周六\\n\\n11/22\\n\\n56° 32°\\n\\n陽光充足\\n\\n局部多雲\\n\\n0%', 'score': 0.9931496}]\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我现在知道今天北京的天气情况。  \n",
      "Final Answer: 今天北京的天气晴朗，最高气温14℃，最低气温1℃。昼夜温差较大，公众需注意防寒保暖。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '今天北京的天气怎么样?', 'output': '今天北京的天气晴朗，最高气温14℃，最低气温1℃。昼夜温差较大，公众需注意防寒保暖。'}\n"
     ]
    }
   ],
   "execution_count": 5
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "#### 方式2：FUNCATION_CALL模式\n",
    "- `AgentType` 是 `OPENAI_FUNCTIONS`\n",
    "\n",
    "提示：只需要修改前面代码中的 `initialize_agent` 中的 **agent参数值**。"
   ],
   "id": "ea4a440bb4582602"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-11-13T11:45:45.413601Z",
     "start_time": "2025-11-13T11:45:37.627079Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import os\n",
    "\n",
    "import dotenv\n",
    "from langchain_community.tools import TavilySearchResults, Tool\n",
    "from langchain.agents import initialize_agent, AgentType\n",
    "\n",
    "dotenv.load_dotenv(override=True)\n",
    "\n",
    "os.environ[\"TAVILY_API_KEY\"] = os.getenv(\"TAVILY_API_KEY\")\n",
    "\n",
    "# 初始化搜索工具\n",
    "search = TavilySearchResults(max_results=3)\n",
    "\n",
    "# 创建tool实例\n",
    "SEARCH_TOOL = Tool(name=\"Search\",\n",
    "                   func=search.run,\n",
    "                   description=\"用于搜索互联网上的信息\")\n",
    "\n",
    "# 创建AgentExecutor\n",
    "agent_executor = initialize_agent(\n",
    "    tools=[SEARCH_TOOL],\n",
    "    llm=CHAT_MODEL,\n",
    "    agent=AgentType.OPENAI_FUNCTIONS,\n",
    "    verbose=True\n",
    ")\n",
    "\n",
    "query = \"今天深圳的天气怎么样?\"\n",
    "# 调用工具\n",
    "result = agent_executor.invoke(query)\n",
    "print(f\"查询结果: {result}\")"
   ],
   "id": "89aadeecc08c5feb",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m\n",
      "Invoking: `Search` with `深圳天气预报`\n",
      "\n",
      "\n",
      "\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '天气实况与预报-深圳市气象局（台）', 'url': 'https://weather.sz.gov.cn/mobile/qixiangfuwu/yubaofuwu/jinmingtianqiyubao/', 'content': '【深圳天气趋势】14-16日多云到晴天，空气干燥，气温逐日回升，早晚清凉；17日白天温暖，傍晚起受冷空气影响，夜间风力加大、气温下降；18-20日阴天到多云，其中18日局地有零星小雨，体感较冷。深圳市气象台2025年11月13日14:00发布。 \\n\\n 深圳逐时预报 \\n\\n11月13日 15:52 更新\\n\\n福田区Image 53Image 54\\n\\n罗湖区 福田区 南山区 宝安区 龙岗区 龙华区 光明区 坪山区 盐田区 大鹏区 深汕\\n\\nImage 55: 阴天间多云，空气干燥\\n\\n19-25℃\\n\\n阴天转多云，空气干燥\\n\\n   50-80\\n湿度 %\\n\\n   0\\n日雨量 mm\\n\\n   东北\\n风向\\n\\n   3\\n风速 级\\n\\n   16时\\n\\nImage 56: 多云间晴天，空气干燥\\n多云\\n\\n   17时\\n\\nImage 57: 多云间晴天，空气干燥\\n多云\\n\\n   18时\\n\\nImage 58: 阴天间多云，空气干燥\\n阴\\n\\n   19时\\n\\nImage 59: 阴天间多云，空气干燥\\n阴\\n\\n   20时\\n\\nImage 60: 阴天间多云，空气干燥\\n阴\\n\\n   21时 [...] Image 61: 阴天间多云，空气干燥\\n阴\\n\\n   22时\\n\\nImage 62: 阴天间多云，空气干燥\\n阴\\n\\n   23时\\n\\nImage 63: 阴天间多云，空气干燥\\n阴\\n\\n   00时\\n\\nImage 64: 阴天间多云，空气干燥\\n阴\\n\\n   01时\\n\\nImage 65: 阴天间多云，空气干燥\\n阴\\n\\n   02时\\n\\nImage 66: 阴天间多云，空气干燥\\n阴\\n\\n   03时\\n\\nImage 67: 阴天间多云，空气干燥\\n阴\\n\\n 深圳未来十天预报 \\n\\n11月13日 14:54 更新\\n\\n   明天\\n\\n11月14Image 68: 多云间晴天，空气干燥\\n阴天转多云，空气干燥\\n\\nImage 69\\n东北风\\n\\n3级50-80%\\n   周六\\n\\n11月15Image 70: 多云间晴天，空气干燥\\n多云间晴天，空气干燥\\n\\nImage 71\\n东北风\\n\\n2-3级50-80%\\n   周日\\n\\n11月16Image 72: 晴天间少云，空气干燥\\n晴天间少云，空气干燥\\n\\nImage 73\\n东北风\\n\\n2-3级45-75%\\n   周一\\n\\n11月17Image 74: 多云间晴天，空气干燥\\n多云间晴天，空气干燥 [...] 在线访谈 Image 45: 收缩Image 46: 展开\\n\\n往期回顾访谈预告\\n\\n业务知识库 Image 47: 收缩Image 48: 展开\\n\\n气象服务类行政服务类\\n\\n政务咨询和投诉 Image 49: 收缩Image 50: 展开\\n\\n政务咨询政务投诉留言受理反馈统计\\n\\n当前位置：首页>气象服务>预报服务>天气实况与预报\\n\\n 深圳国家基本气象站实况 \\n\\n17:00\\n\\nImage 51: loading Image 52福田西\\n\\n   20.4\\n气温 ℃\\n\\n   北风 \\n\\n小于三级\\n   30\\n能见度 km\\n\\n   1007.8\\n气压 hPa\\n\\n   0\\n日雨量 mm\\n\\n   68\\n相对湿度 %\\n\\n【上班天气】预计17-20时，我市阴天间多云；气温19-21℃；偏北风3级左右，沿海、高地和海区阵风6级左右；相对湿度60-75%；能见度15公里以上。全市（含深汕）森林火险黄色预警信号生效中，注意用火用电安全。 深圳市气象台2025年11月13日16:18发布。', 'score': 0.99957615}, {'title': 'Shenzhen, Guangdong, China Weather Forecast - AccuWeather', 'url': 'https://www.accuweather.com/en/cn/shenzhen/58194/weather-forecast/58194', 'content': '5 PM Image 774° Image 8: rain drop0%6 PM Image 974° Image 10: rain drop0%7 PM Image 1172° Image 12: rain drop0%8 PM Image 1370° Image 14: rain drop0%9 PM Image 1570° Image 16: rain drop0%10 PM Image 1770° Image 18: rain drop0%11 PM Image 1969° Image 20: rain drop0%12 AM Image 2169° Image 22: rain drop0%1 AM Image 2368° Image 24: rain drop0%2 AM Image 2567° Image 26: rain drop0%3 AM Image 2767° Image 28: rain drop0%4 AM Image 2967° Image 30: rain drop0%\\n\\n10-Day Weather Forecast [...] Shenzhen, Guangdong, China Weather Forecast | AccuWeather\\n\\nGo Back\\n\\n   For Business\\n   |\\n   Warnings\\n   Data Suite\\n   Forensics\\n   Advertising\\n   Superior Accuracy™\\n\\n[]( Guangdong =================== 77°FImage 1\\n\\n Location \\n\\nLocationNewsVideos\\n\\nUse Current Location\\n\\nRecent\\n\\nShenzhen Guangdong 77°\\n\\nNo results found.\\n\\nTry searching for a city, zip code or point of interest.\\n\\n[](\\n\\nsettings\\n\\nShenzhen, Guangdong Weather [...] Today 11/12 Image 31 78°65° Partly sunny and beautiful Image 32 Night: Increasing clouds 2%Thu 11/13 Image 33 77°65° Partly sunny and delightful Image 34 Partly cloudy 3%Fri 11/14 Image 35 80°67° Mostly sunny Image 36 Increasing cloudiness 2%Sat 11/15 Image 37 81°69° Decreasing clouds Image 38 Clear 2%Sun 11/16 Image 39 84°69° Sunshine Image 40 Mainly clear 2%Mon 11/17 Image 41 80°59° Mostly sunny Image 42 Cloudy 4%Tue 11/18 Image 43 65°58° Cloudy Image 44 Cloudy 8%Wed 11/19 Image 45 69°60°', 'score': 0.99818975}, {'title': '深圳市未来30天天气预报', 'url': 'https://www.qweather.com/weather30d/shenzhen-101280601.html', 'content': '深圳市未来30天天气预报 | 和风天气\\n\\n\\n   English\\n\\n)\\n\\n今天30天空气预警生活指数地图历史\\n\\n广东省 - 中国 2025-11-13 星期四 九月廿四 乙巳年 蛇 22.55N, 114.09E\\n\\n深圳市\\n\\n   天气\\n   30天预报\\n   降水\\n   空气质量\\n   灾害预警\\n   卫星和雷达\\n   天气地图\\n   生活指数\\n   历史数据\\n\\n×\\n\\n深圳市\\n\\n广东省 - 中国\\n\\n2025-11-13\\n\\n未来30天没有雨雪天气，最高温28°（11月16日，11月17日），最低温12°（11月20日）。\\n\\n日\\n\\n一\\n\\n二\\n\\n三\\n\\n四\\n\\n五\\n\\n六\\n\\n13Image 1: QWeather 23°~18°)\\n\\n14Image 2: QWeather 27°~19°)\\n\\n15Image 3: QWeather 27°~20°)\\n\\n16Image 4: QWeather 28°~20°)\\n\\n17Image 5: QWeather 28°~15°)\\n\\n18Image 6: QWeather 23°~13°)\\n\\n19Image 7: QWeather 18°~16°)', 'score': 0.9981178}]\u001B[0m\u001B[32;1m\u001B[1;3m今天深圳的天气情况如下：\n",
      "\n",
      "- **天气**：阴天间多云，空气干燥\n",
      "- **气温**：最高气温约为23°C，最低气温约为18°C\n",
      "- **风速**：东北风，风速约为3级\n",
      "- **湿度**：相对湿度在50%到80%之间\n",
      "\n",
      "预计今天的天气会比较清凉，适合外出，但要注意保暖。详细的天气预报可以参考深圳市气象局的官方网站 [这里](https://weather.sz.gov.cn/mobile/qixiangfuwu/yubaofuwu/jinmingtianqiyubao/)。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '今天深圳的天气怎么样?', 'output': '今天深圳的天气情况如下：\\n\\n- **天气**：阴天间多云，空气干燥\\n- **气温**：最高气温约为23°C，最低气温约为18°C\\n- **风速**：东北风，风速约为3级\\n- **湿度**：相对湿度在50%到80%之间\\n\\n预计今天的天气会比较清凉，适合外出，但要注意保暖。详细的天气预报可以参考深圳市气象局的官方网站 [这里](https://weather.sz.gov.cn/mobile/qixiangfuwu/yubaofuwu/jinmingtianqiyubao/)。'}\n"
     ]
    }
   ],
   "execution_count": 6
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "### 案例2：多工具使用\n",
    "- 需求：\n",
    "\t- 计算特斯拉当前股价是多少？\n",
    "\t- 比去年上涨了百分之几？（提示：调用PythonREPL实例的run方法）\n",
    "- 多个（两个）工具的选择"
   ],
   "id": "3e75fa1033ee1b78"
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "#### 方式1：ReAct 模式\n",
    "- AgentType是 `ZERO_SHOT_REACT_DESCRIPTION`"
   ],
   "id": "43dc94172c43581e"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-11-13T11:58:53.442355Z",
     "start_time": "2025-11-13T11:58:23.212234Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import os\n",
    "\n",
    "import dotenv\n",
    "from langchain_community.tools import TavilySearchResults, Tool\n",
    "from langchain.agents import initialize_agent, AgentType\n",
    "from langchain_experimental.utilities import PythonREPL\n",
    "\n",
    "# 加载环境变量\n",
    "dotenv.load_dotenv(override=True)\n",
    "os.environ[\"TAVILY_API_KEY\"] = os.getenv(\"TAVILY_API_KEY\")\n",
    "\n",
    "# 定义搜索工具\n",
    "search = TavilySearchResults(max_results=3)\n",
    "\n",
    "# 创建搜索工具实例\n",
    "SEARCH_TOOL = Tool(name=\"Search\", func=search.run, description=\"用于搜索互联网上的信息，特别是股票价格和新闻\")\n",
    "\n",
    "# 定义计算工具\n",
    "python_repl = PythonREPL()\n",
    "\n",
    "calc_tool = Tool(name=\"Calculator\", func=python_repl.run, description=\"用于执行数学计算，例如计算百分比变化\")\n",
    "\n",
    "# 创建AgentExecutor\n",
    "agent_executor = initialize_agent(\n",
    "    tools=[SEARCH_TOOL, calc_tool],\n",
    "    llm=CHAT_MODEL,\n",
    "    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,\n",
    "    verbose=True\n",
    ")\n",
    "\n",
    "# 执行查询\n",
    "query = \"特斯拉当前股价是多少？比去年上涨了百分之几？\"\n",
    "result = agent_executor.invoke(query)\n",
    "print(f\"查询结果: {result}\")"
   ],
   "id": "30c936f9cedae7bb",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m我需要先查找特斯拉当前的股价，然后再查找去年的股价，以计算上涨的百分比。  \n",
      "Action: Search  \n",
      "Action Input: \"特斯拉当前股价\"  \u001B[0m\n",
      "Observation: \u001B[36;1m\u001B[1;3m[{'title': 'Tesla: TSLA Stock Price Quote & News | Robinhood', 'url': 'https://robinhood.com/us/en/stocks/TSLA/', 'content': \"The current Tesla(TSLA) stock price is $430.07, with a market capitalization of 1.43T. The stock trades at a price-to-earnings (P/E) ratio of 293.75.\\n\\nOn 2025-11-12, Tesla(TSLA) stock moved within a range of $426.56 to $442.90. With shares now at $430.07, the stock is trading +0.8% above its intraday low and -2.9% below the session's peak.\\n\\nTrading activity shows a volume of 44.49M, compared to an average daily volume of 83.16M. [...] The stock's 52-week range extends from a low of $214.25 to a high of $488.54.\\n\\nThe stock's 52-week range extends from a low of $214.25 to a high of $488.54.\\n\\n## TSLA News\\n\\nTipRanks 2h\\n\\nFrom Austin to Houston: Tesla Stock Slides as Robotaxis Expand\\n\\nElectric vehicle giant Tesla (TSLA) has been involved with the autonomous vehicle taxi service concept for a while now, and recently made a substantial move in...TipRanks 3h\\n\\nTesla Will Soon Launch FSD Supervised in South Korea [...] EVs What Tesla Stock Would Look Like in 10 Years If Musk Hits Pay Targets In this article TSLA AAPL NVDA SPX DJIA So what would Tesla stock look like if CEO Elo...TipRanks 5h\\n\\nTesla Stock Holds Up as Investors Look Past Slowing Car Sales to the AI Story\\n\\nTesla shares (TSLA) edged higher on Wednesday even as new data showed another steep drop in electric vehicle sales across key markets. Investors, for now, seem...Benzinga 9h\", 'score': 0.9998766}, {'title': 'TSLA股票价格— 特斯拉图表 - TradingView – 追踪所有市场', 'url': 'https://cn.tradingview.com/symbols/NASDAQ-TSLA/', 'content': '好的，这是一份关于特斯拉（TSLA）的技术分析： 特斯拉（TSLA）股价近期摆脱了前期的下跌趋势，进入一个关键的反弹测试阶段。好的，这是一份关于特斯拉（TSLA）的技术分析： 特斯拉（TSLA）股价近期摆脱了前期的下跌趋势，进入一个关键的反弹测试阶段。股价在成功守住 $235 - $240 的关键支撑区（与200日移动平均线重合）后，强势反弹并突破了下降趋势线，目前正在挑战 $265 - $270 的核心阻力带。 均线系统发出积极信号。股价已强势站上 50日移动平均线（约$250）\\\\\\\\，该均线已走平并开始拐头向上，为股价提供了动态支撑。上方的 \\\\\\\\200日移动平均线（约$245） 也已从阻力转化为支撑，巩固了短期的多头结构。MACD指标在零轴下方形成金叉后快速向上，已逼近零轴，红色动能柱持续放大，显示反弹动能强劲\\n\\n由trade1638提供\\n\\nTSLA的交易机会第一次录视频，发现嘴巴跟不上脑子\\n\\n做多\\n\\n由irisyan777提供\\n\\n11\\n\\nTSLA特斯拉高点已经显现。460空单持有耐心等待继续回调\\n\\n做空\\n\\n由Q774097提供 [...] 我们收集了分析师对Tesla, Inc.未来价格的看法：根据他们的说法，TSLA价格的最高预估值为600.00 USD，最低预估值为120.00 USD。 查看TSLA图表，了解更详细的Tesla, Inc.股票预测：了解分析师对Tesla, Inc.的看法，并建议您投资其股票。\\n\\nTSLA于2024年12月18日达到历史最高价，价格为488.54 USD，其历史最低价为1.00 USD，于2010年7月7日达到 。在 TSLA图表上查看更多价格动态。  \\n查看其它股票达到的最高和最低价格。\\n\\nTSLA股票的波动率为3.70%，贝塔系数为1.61。在图表上跟踪Tesla, Inc.股票价格并查看波动率最大的股票列表 — Tesla, Inc.在里面吗？\\n\\n今天，Tesla, Inc.的市值为\\u202a1.46\\u202fT\\u202c，较上周下降了−4.86%。\\n\\n是的，您可以直接在TradingView上跟踪年度和季度报告中的 Tesla, Inc.财务状况。\\n\\nTesla, Inc.将于2026年1月28日发布下一份收益报告。通过我们的收益日历跟踪即将发生的活动。 [...] 埃隆·马斯克股票：Musk-Haves\\n\\n著名的meme股票：只会上涨的Stonks（很明显）\\n\\n锂股：为投资组合提供动力？\\n\\n政治股票：权力走廊\\n\\n15  商品数量\\n\\nReddit股票：Yolo\\n\\n自动驾驶股票：未来的汽车\\n\\n美国股票：全美英雄\\n\\nWallstreetbets股票：猩球崛起\\n\\n查看所有精选股\\n\\n## 常见问题\\n\\n\\ufeff\\n\\nTSLA当前价格为430.60 USD— 在过去24小时内下跌了−1.90%。 图表更密切地关注Tesla, Inc.股票价格表现。\\n\\n根据交易所的不同，股票代码可能会有所不同。例如，在NASDAQ交易所，Tesla, Inc.股票以代码TSLA交易。\\n\\n与前一周相比，TSLA股票下跌了−4.59%， 本月变化为上涨1.83%， 去年，Tesla, Inc.的增幅为25.63%。', 'score': 0.9993228}, {'title': 'TSLA股價— 特斯拉圖表 - TradingView', 'url': 'https://tw.tradingview.com/symbols/NASDAQ-TSLA/', 'content': 'Image 112\\n\\n自動駕駛汽車股票：未來的汽車\\n\\n −5.71%  今日 \\n\\n +102.56%  1-年 \\n\\nImage 113\\n\\n美國股票：全美英雄\\n\\n −2.18%  今日 \\n\\n −3.00%  1-年 \\n\\nImage 114\\n\\n華爾街賭場股：猩球崛起\\n\\n −5.25%  今日 \\n\\n +30.23%  1-年 \\n\\n查看所有精選股\\n\\n常見問題\\n\\n今天 Tesla, Inc.的股價是多少？\\n\\nTSLA目前的價格是 413.49 USD — 在過去24小時內下跌了−5.06%。 在圖表上更密切地關注 Tesla, Inc.股票價格表現。\\n\\nTesla, Inc.股票代碼是什麼？\\n\\n根據交易所的不同，股票代碼可能會有所不同。例如：在 NASDAQ交易所 Tesla, Inc.股票以股票代號 TSLA進行交易。\\n\\nTesla, Inc.的股價在上漲嗎？\\n\\n與前一週相比，TSLA的股價下跌了−5.76%， 月變動為 19.17%的上漲， 在過去一年中，Tesla, Inc.表現出 71.00%的上漲。\\n\\nTSLA的股票預測為何？ [...] 我們收集了分析師對 Tesla, Inc.未來價格的看法：根據他們的說法，TSLA價格的最高預估值為 600.00 USD，最低預估為 120.00 USD 。 查看TSLA圖表，並閱讀更詳細的Tesla, Inc.股票預測：看看分析師們對 Tesla, Inc.有什麼看法，並建議您對其股票採取什麼看法行動。\\n\\nTesla, Inc.股票的最高價和最低價分別是多少？\\n\\nTSLA在 2024年12月18日達到了歷史最高價，價格為 488.54 USD，而歷史最低價為 1.00 USD，達到時間為 2010年7月7日。在TSLA圖表上查看更多價格動態。\\n\\n查看其他股票達到它們的最高和最低價格。\\n\\nTSLA股票的波動性如何？\\n\\nTSLA股票的波動率為 7.70%，beta係數為 1.79。在圖表上追蹤 Tesla, Inc.的股價，並查看最波動性股票列表 — Tesla, Inc.是否在其中？\\n\\nTesla, Inc.的市值是多少？\\n\\n今天，Tesla, Inc.的市值為 \\u202a1.45 T\\u202c，較上週增加了 1.92%。\\n\\nTesla, Inc.會發佈報告嗎？ [...] TSLA股價 — 特斯拉圖表 — TradingView\\n\\n主要內容\\n\\n\\n\\n完整圖表\\n\\n\\n\\n\\n\\n\\u202a1.37 T\\u202cUSD\\n\\n股息殖利率(指定)\\n\\n—\\n\\n市盈率(TTM)\\n\\n252.22\\n\\n基本每股收益 (TTM)\\n\\n1.89 USD\\n\\n淨收入 (年度)\\n\\n\\u202a7.13 B\\u202cUSD\\n\\n收益(FY)\\n\\n\\u202a97.69 B\\u202cUSD\\n\\n流通股\\n\\n\\u202a2.80 B\\u202c\\n\\nBeta(1年)\\n\\n\\n\\n1.79\\n\\n員工 --\\n\\n員工(FY)\\n\\n\\n\\n\\u202a125.67 K\\u202c\\n\\n變化(1年)\\n\\n\\u202a−14.81 K\\u202c −10.54%\\n\\n收入/員工(1年)\\n\\n\\n\\n\\u202a777.38 K\\u202cUSD\\n\\n淨收入/員工(1年)\\n\\n\\n\\n\\u202a56.74 K\\u202cUSD\\n\\n關於Tesla, Inc.\\n\\n部門\\n\\n耐用消費品\\n\\n產業\\n\\n機動車\\n\\n執行長\\n\\nElon Reeve Musk\\n\\n網站\\n\\ntesla.com\\n\\n總部\\n\\nAustin\\n\\n成立\\n\\n2003\\n\\nISIN\\n\\nUS88160R1014\\n\\nFIGI\\n\\nBBG000N9MNX3', 'score': 0.9990527}]\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经找到了特斯拉当前的股价为430.07美元。接下来，我需要查找去年的股价，以便计算上涨的百分比。  \n",
      "Action: Search  \n",
      "Action Input: \"特斯拉去年股价\"  \u001B[0m\n",
      "Observation: \u001B[36;1m\u001B[1;3m[{'title': '特斯拉股價2024新高點！目標價515美元，全自動駕駛改變未來 - 方格子', 'url': 'https://vocus.cc/article/6761990bfd89780001dba1b4', 'content': 'Simon Lee\\n\\n更新 發佈閱讀 4 分鐘\\n\\n在近期，特斯拉股價的上漲與多個因素息息相關。首先，2024年的財報顯示，特斯拉的交付量和收入增長均超過了預期。根據該年的行業數據，特斯拉成功在全球範圍內增加了生產能力，尤其是在中國和德國的工廠，這使得其產量達到了歷史新高。另外，特斯拉在電池技術上的突破，特別是與其他科技公司合作開發更高效、更便宜的電池，進一步鞏固了其在電動車市場的領導地位。這樣的進展不僅提升了投資者對公司的長期信心，也直接推動了股價的上漲。\\n\\n對於美股投資者，特斯拉的投資機會不僅僅是看目前的股價走勢，更要關注公司未來的成長潛力和技術進展。投資者需要密切關注特斯拉在自動駕駛技術的實際進展、生產成本的控制、以及全球市場的擴張情況。此外，公司在人才吸引、創新持續性和監管環境的應對能力，都是影響長期投資決策的重要因素。 [...] 一、引言 在當前充滿活力和迅速變遷的金融市場中，特斯拉(Tesla)股票始終是一個備受關注和討論的焦點。作為全球電動車市場的領航者，特斯拉的創新能力和市場動能讓投資者持續關注其股價走勢。近期，市場上出現了特斯拉本月是否有望突破500美元的討論。這一潛在的突破不僅反映了投資者對其技術創新的信心，還受\\n\\n#財務業績#市場趨勢#創新\\n\\n美股 101\\n\\n特斯拉超越奧迪：電動車革命的關鍵時刻？投資人如何看待未來機遇\\n\\n特斯拉在 2024 年達成 179 萬輛銷售量，雖未達目標，卻超越奧迪的 167 萬輛，象徵電動車對傳統豪華汽車品牌的衝擊更加深遠。面對電動車市場競爭加劇、歐洲與中國等地的洗牌，以及特斯拉獨特的技術與商業模式，投資人該如何評估電動車產業的長期潛力與風險？\\n\\n#長期投資#投資觀念#特斯拉\\n\\n美股 101\\n\\n特斯拉超越奧迪：電動車革命的關鍵時刻？投資人如何看待未來機遇 [...] 隨著特斯拉即將發布Robotaxi，股價也持續上升，達到8320.7億美元。特斯拉預期Robotaxi業務估值可達五兆美元，顯示出未來增長潛力。進入2024年，隨著全自動駕駛技術的進一步完善與新車型的推出，特斯拉的業務模式將變得更加多元，對於長期投資者而言，需注意風險控管及資金管理。\\n\\n#特斯拉#業務#Model Y\\n\\n創造新世紀的公司 Tesla -- TSLA（2021/04）\\n\\n特斯拉是一間很常出現在媒體報導的公司，也了解它是做什麼的，但那時覺得電動車的普及不會太快，所以只有把它放在心上。直到最近股價有跌下來一些，才開始買進一些。 因為法令以及環保的議題，電動車的未來應該是很有發展性的。但就表示特斯拉的競爭對手也會有很多。因為起步較早，特斯拉與競爭對手而言，自動駕駛技術應該\\n\\n#美股#成長股#大數據\\n\\n尋找十倍股｜美股下班筆記\\n\\n創造新世紀的公司 Tesla -- TSLA（2021/04）', 'score': 0.9992446}, {'title': '特斯拉今天为什么暴涨？2024-11-08 - 美股投资网', 'url': 'https://www.tradesmax.com/component/k2/item/20743-%E7%89%B9%E6%96%AF%E6%8B%89%E4%BB%8A%E5%A4%A9%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9A%B4%E6%B6%A8%EF%BC%9F2024-11-08', 'content': '截至周五收盘，特斯拉的股票以12个月预期收益的93.8倍进行交易，这是自2022年4月5日以来的最高点，当时电动车交付量同比增长40%。尽管马斯克认为2025年会恢复增长，但预计2024年交付量不会增长。这也远高于其三年平均62.9倍的水平。\\n\\n这是一个昂贵的估值。《美股大数据 StockWe.com》估计，基于未来十年的预期增长，特斯拉的汽车和储能业务每股价值约200美元。支付更高的价格需要特斯拉的收益增长更快。增长加速可能来自于更好的汽车销量（预计特斯拉将在2025年初推出一款低价车型）或新的人工智能收入（特斯拉计划在2025年底推出一支经过AI训练的自动驾驶出租车车队）。\\n\\n或者，这也可能是对马斯克与特朗普关系带来潜在好处的赌注。在胜选演讲中，特朗普特别表扬了马斯克，提到了上个月SpaceX在空中成功捕获火箭的事件，并将Starlink的太空Wi-Fi服务在9月末飓风赫勒娜袭击北卡罗来纳州时挽救生命的事迹归功于马斯克。 [...] 这一目标可能被证明过于保守。特斯拉最近的涨势使其股价突破了近期阻力位——技术分析师用此术语来描述股票图表中投资者在近期买卖股票的水平。CappThesis创始人弗兰克·卡佩列里（Frank Cappelleri）表示，该股现在具有“看涨的图表模式”。如果股价在接下来几天能保持在270美元以上，他认为未来几个月可能达到400美元，比周五收盘价高出25%，接近历史高点。\\n\\n也许投资者已经走在前面，但市场可能正在察觉到某些趋势。不论如何，要想特斯拉股票在2025年及以后维持最近的势头，盈利增长必须加速——无论白宫中是谁执政。\\n\\n \\n\\n每日AI选股\\n\\n昨天美股投资网公众号文章给大家分享的下一个AI大牛Stock，代号 APP\\n\\n文章回顾 升655%！年涨幅远超英伟达的全新AI科技公司诞生，代号APP\\n\\n今天继续疯狂飙升17%\\n\\n很多每天关注我们的粉丝们，在APP上赚了一笔！记住，我们公众号每天只分析最有时效性的干货，记得点赞和加星标！ [...] 该观点有数据证明，在特朗普获胜后的第二天，电动车Lucid Group (LCID) 股价下跌了5.3%，极星汽车 (PSNY) Holding下跌了8.2%，Rivian Automotive (RIVN)下跌了8.3%。考虑到这些变化可能意味着这些电动车初创公司在美国的销量减少，这些股价走势是合理的。唯独特斯拉是个例外，其股价周三上涨了14.8%。\\n\\n这样的上涨并非必然发生。但在今年7月未遂的暗杀事件后，马斯克与特朗普保持了紧密联系，就是为特斯拉未来发展买了一份“保险”。\\n\\n今天特斯拉再度暴涨10%，本周累计上涨30%，重返了“万亿美元市值”俱乐部，终于不是“七巨头”中垫底的那一位。\\n\\n有数据显示，在本轮选举马斯克为特朗普提供1.3亿美元的资金，但帮助特斯拉市值增加2700亿美元，回报率2250倍，马斯克身家增加250亿美元到3000亿美元， 192倍回报，碾压股神巴菲特，稳居世界首富。不得不佩服马斯克这商业天才！\\n\\n“马斯克下了一场盛世赌注，”Wedbush分析师丹·艾夫斯说。他对特斯拉股票的评级为“买入”，目标价为300美元，现在，公司基本面需要赶上其股价。', 'score': 0.99837697}, {'title': '特斯拉股價2024新高點！目標價515美元，全自動駕駛改變未來', 'url': 'https://xueqiu.com/2001863742/317105841', 'content': '美股-ETF()\\n\\n发布于来自雪球 · 广东\\n\\n关注\\n\\n# 特斯拉股價2024新高點！目標價515美元，全自動駕駛改變未來\\n\\n来源：雪球App，作者： 美股-ETF，（\\n\\n特斯拉$特斯拉(TSLA)$ 股票在2024年達到了一個令人矚目的新高點，這得益於分析師將其目標價調升至515美元。這一事件不僅反映了市場對特斯拉技術和市場潛力的信心，也突顯了電動車行業的快速演進。隨著創新科技如自動駕駛系統和人工智能在汽車領域的應用，特斯拉在全球汽車製造業的地位得到了進一步鞏固。\\n\\n在近期，特斯拉股價的上漲與多個因素息息相關。首先，2024年的財報顯示，特斯拉的交付量和收入增長均超過了預期。根據該年的行業數據，特斯拉成功在全球範圍內增加了生產能力，尤其是在中國和德國的工廠，這使得其產量達到了歷史新高。另外，特斯拉在電池技術上的突破，特別是與其他科技公司合作開發更高效、更便宜的電池，進一步鞏固了其在電動車市場的領導地位。這樣的進展不僅提升了投資者對公司的長期信心，也直接推動了股價的上漲。', 'score': 0.9979652}]\u001B[0m\n",
      "Thought:"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Python REPL can execute arbitrary code. Use with caution.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001B[32;1m\u001B[1;3m我没有找到特斯拉去年的确切股价，但根据一些信息，特斯拉在过去一年中的涨幅为25.63%。我可以使用这个信息来计算去年的股价。\n",
      "\n",
      "当前股价为430.07美元，涨幅为25.63%。我可以通过以下公式计算去年的股价：\n",
      "\n",
      "\\[\n",
      "\\text{去年股价} = \\frac{\\text{当前股价}}{1 + \\text{涨幅}}\n",
      "\\]\n",
      "\n",
      "其中，涨幅需要转换为小数形式，即25.63% = 0.2563。\n",
      "\n",
      "现在我将进行计算。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经计算出去年的股价。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经计算出去年的股价。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经计算出去年的股价。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经计算出去年的股价。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经计算出去年的股价。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经计算出去年的股价。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经计算出去年的股价。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经计算出去年的股价。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经计算出去年的股价。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经计算出特斯拉去年的股价。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经计算出特斯拉去年的股价。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m我已经计算出特斯拉去年的股价。  \n",
      "Action: Calculator  \n",
      "Action Input: \"430.07 / (1 + 0.2563)\"  \u001B[0m\n",
      "Observation: \u001B[33;1m\u001B[1;3m\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3m\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '特斯拉当前股价是多少？比去年上涨了百分之几？', 'output': 'Agent stopped due to iteration limit or time limit.'}\n"
     ]
    }
   ],
   "execution_count": 7
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "#### 方式2：FUNCATION_CALL模式\n",
    "AgentType是 `FUNCATION_CALL`"
   ],
   "id": "da2ce4dd42162dfa"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-11-14T01:15:14.831310Z",
     "start_time": "2025-11-14T01:15:08.095526Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import os\n",
    "\n",
    "import dotenv\n",
    "from langchain_community.tools import TavilySearchResults, Tool\n",
    "from langchain.agents import initialize_agent, AgentType\n",
    "from langchain_experimental.utilities import PythonREPL\n",
    "\n",
    "# 加载环境变量\n",
    "dotenv.load_dotenv(override=True)\n",
    "os.environ[\"TAVILY_API_KEY\"] = os.getenv(\"TAVILY_API_KEY\")\n",
    "# 定义Tavily工具\n",
    "tavily_define = TavilySearchResults(max_results=3)\n",
    "# 创建Tavily工具实例\n",
    "tavily_tool = Tool(name=\"TavilySearch\", func=tavily_define.run,\n",
    "                   description=\"用于搜索互联网上的信息，特别是股票价格和新闻\")\n",
    "\n",
    "# 定义计算工具\n",
    "python_repl = PythonREPL()\n",
    "calc_tool = Tool(name=\"Calculator\", func=python_repl.run, description=\"用于执行数学计算，例如计算百分比变化\")\n",
    "\n",
    "# 定义AgentExecutor\n",
    "agent_executor = initialize_agent(\n",
    "    tools=[tavily_tool, calc_tool],\n",
    "    llm=CHAT_MODEL,\n",
    "    agent=AgentType.OPENAI_FUNCTIONS,  # 唯一变化的位置\n",
    "    verbose=True\n",
    ")\n",
    "\n",
    "# 执行查询\n",
    "query = \"特斯拉当前股价是多少？比去年上涨了百分之几？\"\n",
    "result = agent_executor.invoke(query)\n",
    "print(f\"查询结果: {result}\")\n"
   ],
   "id": "d4db49aeb5a32017",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m\n",
      "Invoking: `TavilySearch` with `特斯拉股价`\n",
      "\n",
      "\n",
      "\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': 'TSLA股票价格— 特斯拉图表 - TradingView – 追踪所有市场', 'url': 'https://cn.tradingview.com/symbols/NASDAQ-TSLA/', 'content': '我们收集了分析师对Tesla, Inc.未来价格的看法：根据他们的说法，TSLA价格的最高预估值为600.00 USD，最低预估值为120.00 USD。 查看TSLA图表，了解更详细的Tesla, Inc.股票预测：了解分析师对Tesla, Inc.的看法，并建议您投资其股票。\\n\\nTSLA于2024年12月18日达到历史最高价，价格为488.54 USD，其历史最低价为1.00 USD，于2010年7月7日达到 。在 TSLA图表上查看更多价格动态。  \\n查看其它股票达到的最高和最低价格。\\n\\nTSLA股票的波动率为3.70%，贝塔系数为1.61。在图表上跟踪Tesla, Inc.股票价格并查看波动率最大的股票列表 — Tesla, Inc.在里面吗？\\n\\n今天，Tesla, Inc.的市值为\\u202a1.46\\u202fT\\u202c，较上周下降了−4.86%。\\n\\n是的，您可以直接在TradingView上跟踪年度和季度报告中的 Tesla, Inc.财务状况。\\n\\nTesla, Inc.将于2026年1月28日发布下一份收益报告。通过我们的收益日历跟踪即将发生的活动。 [...] 好的，这是一份关于特斯拉（TSLA）的技术分析： 特斯拉（TSLA）股价近期摆脱了前期的下跌趋势，进入一个关键的反弹测试阶段。好的，这是一份关于特斯拉（TSLA）的技术分析： 特斯拉（TSLA）股价近期摆脱了前期的下跌趋势，进入一个关键的反弹测试阶段。股价在成功守住 $235 - $240 的关键支撑区（与200日移动平均线重合）后，强势反弹并突破了下降趋势线，目前正在挑战 $265 - $270 的核心阻力带。 均线系统发出积极信号。股价已强势站上 50日移动平均线（约$250）\\\\\\\\，该均线已走平并开始拐头向上，为股价提供了动态支撑。上方的 \\\\\\\\200日移动平均线（约$245） 也已从阻力转化为支撑，巩固了短期的多头结构。MACD指标在零轴下方形成金叉后快速向上，已逼近零轴，红色动能柱持续放大，显示反弹动能强劲\\n\\n由trade1638提供\\n\\nTSLA的交易机会第一次录视频，发现嘴巴跟不上脑子\\n\\n做多\\n\\n由irisyan777提供\\n\\n11\\n\\nTSLA特斯拉高点已经显现。460空单持有耐心等待继续回调\\n\\n做空\\n\\n由Q774097提供 [...] 埃隆·马斯克股票：Musk-Haves\\n\\n著名的meme股票：只会上涨的Stonks（很明显）\\n\\n锂股：为投资组合提供动力？\\n\\n政治股票：权力走廊\\n\\n15  商品数量\\n\\nReddit股票：Yolo\\n\\n自动驾驶股票：未来的汽车\\n\\n美国股票：全美英雄\\n\\nWallstreetbets股票：猩球崛起\\n\\n查看所有精选股\\n\\n## 常见问题\\n\\n\\ufeff\\n\\nTSLA当前价格为430.60 USD— 在过去24小时内下跌了−1.90%。 图表更密切地关注Tesla, Inc.股票价格表现。\\n\\n根据交易所的不同，股票代码可能会有所不同。例如，在NASDAQ交易所，Tesla, Inc.股票以代码TSLA交易。\\n\\n与前一周相比，TSLA股票下跌了−4.59%， 本月变化为上涨1.83%， 去年，Tesla, Inc.的增幅为25.63%。', 'score': 0.99968493}, {'title': 'Tesla股价10年大涨百倍的启示-未来特斯拉股价走势如何 ... - Mitrade', 'url': 'https://www.mitrade.com/cn/insights/shares-analysis/us-stock/how-to-trade-tesla', 'content': '然而，从长期来看，特斯拉仍被视为新能源科技领域的重要参与者。自挂牌以来，其股价在过去十多年间上涨了超过百倍。未来，特斯拉计划在2026年推出自动驾驶出租车（Robotaxi），市场期待下一个数十年的电动车普及浪潮之下，其技术创新仍可能带来新的增长契机！\\n\\n本文从特斯拉业链、竞争优势，对TSLA股价进行分析，为大家介绍投资特斯拉股票的方法。在开始之前，我们先来看看特斯拉股价走势。\\n\\n## Tesla特斯拉股价趋势图\\n\\n特斯拉股票代号： TSLA\\n\\n历史最低价：5USD\\n\\n历史最高价：1243.49USD\\n\\n▼ 查看Tesla特斯拉股价趋势图表, 在Mitrade交易TSLA\\n\\nSellBuy\\n\\n## 特斯拉Tesla股价分析及预测\\n\\n一、短期挑战（2025-2026年）\\n\\n市场竞争白热化\\n\\n传统车企转型加速：通用、福特等老牌车企的电动车销量占比持续提升（2025年预计占其总销量的30%以上），凭借供应链和渠道优势挤压特斯拉市场份额。 [...] ### 1. 特斯拉的本益比高于同类科技股\\n\\n理想的科技股本益比在20-30倍之间，而特斯拉的本益比最高一度超过了千倍，虽然随着特斯拉开始获利且盈余有增加趋势，本益比开始回到比较正常的水准，但目前特斯拉本益比仍有近80倍左右，仍然比一般科技股高了许多。\\n\\n### 2. 相比于传统车厂，特斯拉的获利空间更小\\n\\n投资机构专业人士曾指出，传统汽车工厂的股票价格大约是每支股票营收的35%。然而，特斯拉的股价高达其营收的1800%。这已经说明，在当下特斯拉股票和其创造的价值之间，相比于其他同类汽车产业，比例严重失调，也让部分投资人认为股价有被高估的状况。\\n\\n### 3. 特斯拉市值被认为过于高估\\n\\n简单地从特斯拉市值估计和其他汽车品牌相比，其市值已经超过了福特和通用汽车地估值之和。然而，目前市场上两所汽车公司的销售额远高于特斯拉公司，更不用提市场占有的比例。\\n\\n### 4. 不少知名投资人表示不会进一步购买特斯拉股票 [...] 注:如需转载《Tesla股价10年大涨百倍的启示-未来特斯拉股价走势如何？特斯拉股票怎么买？》 请保留原文链接，更多资讯请访问投资慧眼，或浏览 www.mitrade.com\\n\\n免责声明: 本文内容仅代表作者个人观点，不代表mitrade官方立场，也不能作为投资建议。文章内容仅做参考，读者不应以本文作为任何投资依据。 mitrade对任何以本文为交易依据的结果不承担责任。 Mitrade亦不能保证本文内容的准确性。在做出任何投资决定之前，您应该寻求独立财务顾问的建议，以确保您了解风险。\\n\\n差价合约（CFD）是杠杆性产品，有可能导致您损失全部资金。这些产品并不适合所有人，请谨慎投资。查阅详情\\n\\n特斯拉股东大会来袭！马斯克天价薪酬能否通过？特斯拉（TSLA）将举行年度股东大会，会议将重点讨论首席执行官马斯克（Elon Musk）提出的1万亿美元薪酬方案。\\n\\n作者  Alison Ho\\n\\n18 小时前\\n\\n特斯拉（TSLA）将举行年度股东大会，会议将重点讨论首席执行官马斯克（Elon Musk）提出的1万亿美元薪酬方案。', 'score': 0.9992735}, {'title': 'TSLA 股票价格| 分析师目标价446.14 & 适度买入共识 - eToro', 'url': 'https://www.etoro.com/zh/markets/tsla', 'content': '特斯拉（TSLA）是全球最创新的汽车企业之一，专注于电动车及充电装置领域。 TSLA提供完全无油耗的车辆，因此对现有的汽车业带来重大冲击。 TSLA首席执行官伊隆·马斯克旨在向普通用户提供经济适用车型，以帮助应对全球气候变化问题。  \\nTSLA股价受该公司收入的影响，而后者则受到政府措施以及国家环保条款变化所影响。  \\n什么因素影响TSLA股价  \\n和其他汽车企业相似，TSLA的收入、盈利和股价表现主要取决于市场对其车辆的需求。   \\n另一个影响TSLA股价表现的因素是油价展望以及对油市的监管。 如果油价偏低，消费者购买TSLA汽车的意欲降低，因为驾驶节能车的成本较低。   \\n此外，如果对石油行业的规管放宽，且避开气候变化问题的国家增加，那么TSLA的股价应该会受挫。   \\nTSLA收购了生产光电设备的SolarCity Corp.，如果对太阳能电池板的补贴终止，消费者将失去动力，而不会再在家安装太阳能电池板。 另外，如果没有补贴，企业可能也不会考虑安装太阳能电池板，这将损害TSLA的盈利和收入。 因此，TSLA面临企业和地缘政治风险。 [...] ## TSLA 股票价格图表\\n\\n\\u200e3.81\\u200e\\n\\n过去1个月\\n\\n1D\\n\\n1W\\n\\n1M\\n\\n6M\\n\\n1Y\\n\\n3Y\\n\\nMAX\\n\\n注册以获得完整图表，提供方\\n\\n\\\\过去的表现并不代表未来的业绩\\n\\n## 本周 Tesla Motors, Inc. 股价下跌。\\n\\ni\\n\\n价格“上涨”意味着每周价格上涨了0.5%以上。  \\n 价格“下跌”表示每周价格下跌了0.5%以上。  \\n “稳定”的价格表示每周价格的变化在-0.5%到0.5%之间。\\n\\n\"今日 Tesla Motors, Inc. 股价为 \\u200e$\\u200e440.03，反映过去24小时变动 \\u200e0.09\\u200e%，过去一周变动 \\u200e-4.64\\u200e%。 目前 TSLA 的市值为 \\u200e$\\u200e1.46T，过去三个月平均成交量为 86.91M。该股票市盈率为 293.75，股息率为 0%。该股票贝塔值为 2.27。\"\\n\\n跳转至：\\n\\n 关于 TSLA\\n 如何买入？>\\n 热门指南 >\\n\\nTSLA 关键指标\\n\\n市值\\n\\ni\\n\\n一家公司所有股份的总价值，等于股价乘以流通股总量。\\n\\n\\u200e$\\u200e1.46T\\n\\n日范围\\n\\ni\\n\\n显示日高价和日低价。\\n\\n\\u200e$\\u200e437.67-\\u200e$\\u200e440.94\\n\\n52周范围 [...] 关注人工智能股票，为 2025 年做好准备。通过 eToro 的专家分析，深入了解英伟达、博通、CrowdStrike、Arista Networks 和安费诺的增长前景。\\n\\n阅读更多\\n\\n全球十大证券交易所介绍\\n\\n什么是证券交易所，它们是如何运作的？在本文中，我们将介绍全球最大的十个证券交易所。\\n\\n阅读更多\\n\\n前往学院 >\\n\\n马上投资  \\nTesla Motors, Inc.\\n\\n创建一个eToro账户，在安全、用户友好的多资产交易平台上购买TSLA股票。\\n\\n开始使用\\n\\n## 常见问题\\n\\nTSLA 现价为\\u200e$\\u200e440.03。\\n\\nTesla Motors, Inc. 的平均价格目标为\\u200e$\\u200e440.03。 注册 eToro 以取得详细的分析师预测及价格目标。\\n\\n分析师根据市场趋势、财务报告和预期增长对Tesla Motors, Inc.的预测。查看最新预测，了解未来价格走势。\\n\\n: instrument.DisplayName}} 市值为 \\u200e$\\u200e1.46T 美元\\n\\n根据 16 位分析师在过去三个月对 TSLA 的建议，总体共识是 适度买入。', 'score': 0.99895155}]\u001B[0m\u001B[32;1m\u001B[1;3m\n",
      "Invoking: `Calculator` with `(430.60 - 342.00) / 342.00 * 100`\n",
      "\n",
      "\n",
      "\u001B[0m\u001B[33;1m\u001B[1;3m\u001B[0m\u001B[32;1m\u001B[1;3m特斯拉（TSLA）当前股价为 **430.60 USD**。根据数据，特斯拉的股价比去年上涨了 **25.63%**。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '特斯拉当前股价是多少？比去年上涨了百分之几？', 'output': '特斯拉（TSLA）当前股价为 **430.60 USD**。根据数据，特斯拉的股价比去年上涨了 **25.63%**。'}\n"
     ]
    }
   ],
   "execution_count": 8
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "### 案例3：自定义函数与工具\n",
    "**需求：计算3的平方，Agent自动调用工具完成**"
   ],
   "id": "2ab3ccd9990f1313"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-11-14T07:18:33.496035Z",
     "start_time": "2025-11-14T07:18:30.940375Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from langchain_community.tools import Tool\n",
    "from langchain.agents import initialize_agent, AgentType\n",
    "\n",
    "\n",
    "def simple_calculator(expression: str) -> str:\n",
    "    \"\"\"\n",
    "    基础数学计算工具，支持加减乘除和幂运算\n",
    "    参数:\n",
    "        expression: 数学表达式字符串，如 \"3+5\" 或 \"2**3\"\n",
    "    返回:\n",
    "        计算结果字符串或错误信息\n",
    "    \"\"\"\n",
    "    print(f\"\\n[工具调用] 计算表达式: {expression}\")\n",
    "    print(\"只因为在人群中多看了你一眼，确认下你调用了我^_^\")\n",
    "    return str(eval(expression))\n",
    "\n",
    "\n",
    "# 创建计算工具实例\n",
    "calc_tool = Tool(name=\"Math_Calculator\",\n",
    "                 func=simple_calculator,\n",
    "                 description=\"用于数学计算，输入必须是纯数学表达式（如'3+5'或'3**2'表示平方）。不支持字母或特殊符号\")\n",
    "\n",
    "agentExecutor = initialize_agent(\n",
    "    tools=[calc_tool],\n",
    "    llm=CHAT_MODEL,\n",
    "    agent=AgentType.OPENAI_FUNCTIONS,\n",
    "    verbose=True\n",
    ")\n",
    "\n",
    "# 执行查询\n",
    "query = \"计算3的平方\"\n",
    "result = agentExecutor.invoke(query)\n",
    "print(f\"查询结果: {result}\")"
   ],
   "id": "bba745564d34956a",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m\n",
      "Invoking: `Math_Calculator` with `3**2`\n",
      "\n",
      "\n",
      "\u001B[0m\n",
      "[工具调用] 计算表达式: 3**2\n",
      "只因为在人群中多看了你一眼，确认下你调用了我^_^\n",
      "\u001B[36;1m\u001B[1;3m9\u001B[0m\u001B[32;1m\u001B[1;3m3的平方是9。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '计算3的平方', 'output': '3的平方是9。'}\n"
     ]
    }
   ],
   "execution_count": 9
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## 通用方式\n",
    "需求：今天北京的天气怎么样？？"
   ],
   "id": "dd2a54a093e8829e"
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### 方式1：FUNCATION_CALL模式",
   "id": "3e25e45eaf108972"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-11-14T07:46:38.608149Z",
     "start_time": "2025-11-14T07:46:32.365380Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from langchain_community.tools import TavilySearchResults, Tool\n",
    "from langchain.agents import AgentExecutor\n",
    "from langchain.agents import create_tool_calling_agent\n",
    "from langchain_core.prompts import ChatPromptTemplate\n",
    "\n",
    "os.environ[\"TAVILY_API_KEY\"] = os.getenv(\"TAVILY_API_KEY\")\n",
    "tavily_define = TavilySearchResults(max_results=3)\n",
    "tavily_tool = Tool(name=\"TavilySearch\", func=tavily_define.run, description=\"用于搜索互联网上的信息\")\n",
    "\n",
    "prompt = ChatPromptTemplate.from_messages(\n",
    "    [\n",
    "        (\"system\", \"您是一位乐于助人的助手，请务必使用 tavily_search_results_json 工具来获取信息。\"),\n",
    "        (\"human\", \"{input}\"),\n",
    "        (\"placeholder\", \"{agent_scratchpad}\")\n",
    "    ]\n",
    ")\n",
    "\n",
    "agent = create_tool_calling_agent(\n",
    "    llm=CHAT_MODEL,\n",
    "    tools=[search],\n",
    "    prompt=prompt\n",
    ")\n",
    "# 6.创建AgentExecutor执行器\n",
    "agent_executor = AgentExecutor(agent=agent, tools=[search], verbose=True)\n",
    "\n",
    "query = \"今天北京的天气怎么样？\"\n",
    "result = agent_executor.invoke({\"input\": query})\n",
    "print(f\"查询结果: {result}\")"
   ],
   "id": "d45b28ff4a4629e8",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m\n",
      "Invoking: `tavily_search_results_json` with `{'query': '北京天气'}`\n",
      "\n",
      "\n",
      "\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '北京-天气预报 - 中央气象台', 'url': 'https://www.nmc.cn/publish/forecast/ABJ/beijing.html', 'content': '+ 全球天气公报\\n  + 全球热带气旋监测公报\\n  + WMO第XI海区海事天气公报\\n  + 全球灾害性天气监测月报\\n  + 全球雨雪落区预报\\n  + 世界气象中心（北京）门户网\\n  + 一带一路气象服务\\n  + 亚洲沙尘暴预报专业气象中心\\n 环境气象\\n\\n  + 雾预报\\n  + 霾预报\\n  + 沙尘天气预报\\n  + 空气污染气象条件预报\\n  + 环境气象公报\\n  + 大气环境气象公报\\n 农业气象\\n\\n  + 土壤水分监测\\n  + 农业干旱综合监测\\n  + 关键农时农事\\n  + 农业气象周报\\n  + 农业气象月报\\n  + 生态气象监测评估\\n  + 农业气象专报\\n  + 作物发育期监测\\n  + 农业气象灾害风险预警\\n  + 国外农业气象月报\\n 数值预报\\n\\n  + CMA全球天气模式\\n  + CMA全球集合模式\\n  + CMA区域模式\\n  + CMA区域集合模式\\n  + CMA台风模式\\n  + 海浪模式\\n\\n1. 当前位置：首页\\n2. 北京市\\n3. 北京天气预报\\n\\n省份：城市：\\n\\n日出\\n\\n北京\\n\\n日落\\n\\n降水量\\n\\n相对湿度\\n\\n体感温度\\n\\n雷达图 [...] 北京 18.3℃ 西南风 微风\\n\\n地质灾害气象风险预警\\n\\n中小河流洪水气象风险预警\\n\\n渍涝风险气象预警\\n\\n交通气象预报\\n\\n森林火险预报\\n\\n草原火险预报\\n\\n台风海洋\\n\\n台风快讯与报文\\n\\n台风路径预报\\n\\n台风公报\\n\\n台风预警\\n\\n海区预报\\n\\n海事公报\\n\\n海洋天气预报\\n\\n近海海雾预报\\n\\n海区风力预报\\n\\n北太平洋分析与预报\\n\\n全球热带气旋监测公报\\n\\n台风命名\\n\\n台风综合信息\\n\\n全球预报\\n\\n全球天气公报\\n\\n全球热带气旋监测公报\\n\\nWMO第XI海区海事天气公报\\n\\n全球灾害性天气监测月报\\n\\n全球雨雪落区预报\\n\\n世界气象中心（北京）门户网\\n\\n一带一路气象服务\\n\\n亚洲沙尘暴预报专业气象中心\\n\\n环境气象\\n\\n雾预报\\n\\n霾预报\\n\\n沙尘天气预报\\n\\n空气污染气象条件预报\\n\\n环境气象公报\\n\\n大气环境气象公报\\n\\n农业气象\\n\\n土壤水分监测\\n\\n农业干旱综合监测\\n\\n关键农时农事\\n\\n农业气象周报\\n\\n农业气象月报\\n\\n生态气象监测评估\\n\\n农业气象专报\\n\\n作物发育期监测\\n\\n农业气象灾害风险预警\\n\\n国外农业气象月报\\n\\n数值预报\\n\\nCMA全球天气模式\\n\\nCMA全球集合模式\\n\\nCMA区域模式\\n\\nCMA区域集合模式\\n\\nCMA台风模式 [...] 海浪模式\\n\\n其他\\n\\n关于我们\\n\\n联系方式\\n\\n网站声明\\n\\n业务信息\\n\\n网站动态\\n\\n网站地图\\n\\n天气访谈\\n\\n预警信号\\n\\n 首页\\n\\n  + 卫星云图\\n  + 气象灾害预警\\n  + 环境气象公报\\n  + 降水量预报\\n  + 天气公报\\n  + 每日天气提示\\n  + 城市天气预报\\n  + 一带一路气象服务\\n 天气实况\\n\\n  + 天气图\\n  + 卫星云图\\n  + 雷达图\\n  + 降水量\\n  + 气温\\n  + 风\\n  + 能见度\\n  + 强对流\\n  + 土壤水分\\n 城市预报\\n\\n  + 热门城市：\\n  + 北京\\n  + 上海\\n  + 广州\\n  + 深圳\\n  + 成都\\n  + 重庆\\n  + 杭州\\n  + 武汉\\n  + 西安\\n  + 天津\\n  + 苏州\\n  + 南京\\n  + 郑州\\n  + 长沙\\n  + 东莞\\n  + 沈阳\\n  + 青岛\\n  + 合肥\\n  + 佛山\\n 天气预报', 'score': 0.9961456}]\u001B[0m\u001B[32;1m\u001B[1;3m今天北京的天气是18.3℃，风速较轻，来自西南方向。有关详细的天气预报信息，可以访问[中央气象台的官方网站](https://www.nmc.cn/publish/forecast/ABJ/beijing.html)。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '今天北京的天气怎么样？', 'output': '今天北京的天气是18.3℃，风速较轻，来自西南方向。有关详细的天气预报信息，可以访问[中央气象台的官方网站](https://www.nmc.cn/publish/forecast/ABJ/beijing.html)。'}\n"
     ]
    }
   ],
   "execution_count": 18
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "### 方式2：ReAct模式\n",
    "#### 体会1：使用PromptTemplate\n",
    "提示词要体现 **可以使用的工具**、**用户输入** 和 **agent_scratchpad**。\n",
    "远程的提示词模版通过 [hub-hwchase17](https://smith.langchain.com/hub/hwchase17) 获取\n",
    "- 举例：[hub-hwchase17-react](https://smith.langchain.com/hub/hwchase17/react) 这个模板是专为ReAct模式设计的提示模板。这个模板中已经有聊天对话键 tools、 tool_names、agent_scratchpad"
   ],
   "id": "2025718633ff3925"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-11-14T08:23:41.793974Z",
     "start_time": "2025-11-14T08:23:37.031854Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import os\n",
    "\n",
    "import dotenv\n",
    "from langchain_community.tools import TavilySearchResults, Tool\n",
    "from langchain.agents import create_react_agent, AgentExecutor\n",
    "from langchain.hub import pull\n",
    "\n",
    "dotenv.load_dotenv(override=True)\n",
    "os.environ[\"TAVILY_API_KEY\"] = os.getenv(\"TAVILY_API_KEY\")\n",
    "# 定义Tavily工具\n",
    "tavily_define = TavilySearchResults(max_results=1)\n",
    "# 创建Tavily工具实例\n",
    "tavily_tool = Tool(name=\"TavilySearch\", func=tavily_define.run, description=\"用于搜索互联网上的信息\")\n",
    "\n",
    "prompt = pull(\"hwchase17/react\")\n",
    "\n",
    "agent = create_react_agent(\n",
    "    llm=CHAT_MODEL,\n",
    "    tools=[tavily_tool],\n",
    "    prompt=prompt\n",
    ")\n",
    "\n",
    "agent_executor = AgentExecutor(agent=agent, tools=[tavily_tool], verbose=True)\n",
    "\n",
    "query = \"今天北京的天气怎么样？\"\n",
    "result = agent_executor.invoke({\"input\": query})\n",
    "print(f\"查询结果: {result}\")"
   ],
   "id": "11b0a07f3a61de9f",
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Environment\\Conda\\envs\\pyth310\\lib\\site-packages\\langsmith\\client.py:272: LangSmithMissingAPIKeyWarning: API key must be provided when using hosted LangSmith API\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m我需要查找今天北京的天气信息。  \n",
      "Action: TavilySearch  \n",
      "Action Input: \"今天 北京 天气\"  \u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '北京天气预报,北京7天天气预报,北京15天天气预报,北京天气查询', 'url': 'https://www.weather.com.cn/weather/101010100.shtml', 'content': '首页 预报 预警 雷达 云图 天气地图 专业产品 资讯 视频 节气 我的天空\\n\\n更多\\n\\n台风路径 空间天气 图片 专题 环境 旅游 碳中和 气象科普 一带一路 产创平台\\n\\n国内) 本地) 国际)\\n\\n:   北京 上海 成都 杭州 南京 天津 深圳 重庆 西安 广州 青岛 武汉\\n\\n:   故宫 阳朔漓江 龙门石窟 野三坡 颐和园 九寨沟 东方明珠 凤凰古城 秦始皇陵 桃花源\\n\\n高球\\n:   佘山 春城湖畔 华彬庄园 观澜湖 依必朗 旭宝 博鳌 玉龙雪山 番禺南沙 东方明珠\\n\\n<<返回 全国\\n\\n河北下辖区域\\n\\n热门城市\\n\\n:   曼谷 东京 首尔 吉隆坡 新加坡 巴黎 罗马 伦敦 雅典 柏林 纽约 温哥华 墨西哥城 哈瓦那 圣何塞 巴西利亚 布宜诺斯艾利斯 圣地亚哥 利马 基多 悉尼 墨尔本 惠灵顿 奥克兰 苏瓦 开罗 内罗毕 开普敦 维多利亚 拉巴特\\n\\n:   亚洲 欧洲 北美洲 南美洲 非洲 大洋洲\\n\\n全国> 北京 > 城区\\n\\n 今天\\n 7天\\n 8-15天\\n 40天\\n 雷达图\\n\\n # 13日（今天）\\n\\n  晴\\n\\n  14/1℃\\n\\n  <3级\\n # 14日（明天）\\n\\n  晴 [...] 无需担心过敏，可放心外出，享受生活。\\n 较冷 穿衣指数\\n\\n  建议着厚外套加毛衣等服装。)\\n 适宜 洗车指数\\n\\n  天气较好，适合擦洗汽车。\\n 中等 紫外线指数\\n\\n  涂擦SPF大于15、PA+防晒护肤品。\\n\\n# 天气资讯\\n\\n:   北京今明天晴朗天气在线 昼夜温差较大最低气温1℃左右  中国天气网 2025-11-13 07:01\\n\\n:   台风蓝色预警：“凤凰”今天将变性为温带气旋 东海等海域有大风  中国天气网 2025-11-13 06:05\\n\\n:   台风“凤凰”在台湾屏东县沿海登陆 或为今年登陆我国的末台风  中国天气网 2025-11-12 19:55\\n\\n:   台风蓝色预警：“凤凰”将于今晚在台湾岛西南部沿海登陆  中国天气网 2025-11-12 18:05\\n\\n:   今夜起四川降水增多 明后天盆地阴雨持续川西高原将现降雪  中国天气网 2025-11-12 16:59\\n\\n# 周边地区 | 周边景点 2025-11-13 07:30更新\\n\\n 香河\\n\\n  /\\n\\n  14/0°C\\n 涿州\\n\\n  /\\n\\n  15/0°C\\n 唐山\\n\\n  /\\n\\n  14/1°C\\n 沧州 [...] 今天（11月5日），新疆北部的雨雪将进入最强时段，部分地方将现大到暴雪、甚至大暴雪，雨雪相态复杂。\\n 11月4日\\n\\n  ## 较强冷空气明起登场 新一轮雨雪天气将自西向东影响我国\\n\\n  今天（11月4日），南方降雨将明显减弱。明天，新一轮雨雪天气将在新疆率先登场，同时一股较强冷空气也将自西向东给大部地区带来大风降温天气。\\n 11月3日\\n\\n  ## 今明两天南方多地降雨连连 北方大部气温回升\\n\\n  今明两天（11月3日至4日），南方维持多雨格局，局地有大暴雨，多地还将出现明显降温。而在北方，大部地区雨雪不多，气温将快速回升。\\n 11月2日\\n\\n  ## 南方降雨降温部分地区有暴雨或大暴雨 北方多地气温起伏较大\\n\\n  今明天（11月2日至3日），我国东北地区和青藏高原的雨雪逐步缩减，但南方降雨发展增强，气温下降，体感湿凉。\\n 11月1日\\n\\n  ## 西南至江南地区阴雨发展增多 东北局地或现暴雪气温波动明显\\n\\n  今天，青藏高原东部的雨雪天气仍将持续，局地有暴雪。并且随着高原槽东移，今明两天，西南地区东部至江南等地的降雨也会自西向东逐渐发展。\\n\\n查看更多>>\\n\\n# 雷达图', 'score': 0.9911527}]\u001B[0m\u001B[32;1m\u001B[1;3m今天北京的天气是晴天，气温在14°C到1°C之间，风速小于3级。建议穿着厚外套加毛衣等服装，适合外出活动。  \n",
      "Final Answer: 今天北京的天气是晴天，气温在14°C到1°C之间，适合外出活动。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '今天北京的天气怎么样？', 'output': '今天北京的天气是晴天，气温在14°C到1°C之间，适合外出活动。'}\n"
     ]
    }
   ],
   "execution_count": 23
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "# Agent嵌入记忆组件\n",
    "## 传统方式\n",
    "比如：北京明天的天气怎么样？上海呢？ （通过两次对话实现）\n",
    "举例：以 **REACT模式** 为例"
   ],
   "id": "f1b26070e5dd111a"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-11-14T10:01:08.643089Z",
     "start_time": "2025-11-14T10:00:46.614686Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from langchain.memory import ConversationBufferMemory\n",
    "import os\n",
    "\n",
    "import dotenv\n",
    "from langchain_community.tools import TavilySearchResults, Tool\n",
    "from langchain.agents import initialize_agent, AgentType\n",
    "\n",
    "dotenv.load_dotenv(override=True)\n",
    "os.environ[\"TAVILY_API_KEY\"] = os.getenv(\"TAVILY_API_KEY\")\n",
    "\n",
    "# 定义Tavily工具\n",
    "tavily_define = TavilySearchResults(max_results=3)\n",
    "# 创建Tavily工具实例\n",
    "tavily_tool = Tool(name=\"TavilySearch\", func=tavily_define.run, description=\"用于搜索互联网上的信息\")\n",
    "\n",
    "memory = ConversationBufferMemory(return_messages=True,\n",
    "                                  memory_key=\"chat_history\" #必须是此值，通过initialize_agent()的源码追踪得到\n",
    "                                  )\n",
    "\n",
    "# 创建AgentExecutor执行器\n",
    "agent_executor = initialize_agent(llm=CHAT_MODEL, tools=[tavily_tool], memory=memory,\n",
    "                                  verbose=True, agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION)\n",
    "\n",
    "result = agent_executor.invoke(\"北京明天的天气怎么样\")\n",
    "print(f\"查询结果: {result}\")\n",
    "\n",
    "result = agent_executor.invoke(\"上海呢？\")\n",
    "print(f\"查询结果: {result}\")\n"
   ],
   "id": "3e6fe74f04c53bbf",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m```\n",
      "Thought: Do I need to use a tool? Yes\n",
      "Action: TavilySearch\n",
      "Action Input: 北京明天的天气预报\n",
      "```\u001B[0m\n",
      "Observation: \u001B[36;1m\u001B[1;3m[{'title': '11月15日夜间至17日北京预计有大风强降温 - 中国新闻网', 'url': 'https://www.chinanews.com.cn/sh/2025/11-13/10515037.shtml', 'content': '中新网北京11月13日电(记者 陈杭)记者13日从北京市气象局获悉，受强冷空气影响，预计15日后半夜至17日夜间北京有4级左右偏北风，阵风7级左右，山区阵风8级以上。16日白天至前半夜为风力最强时段。\\n\\n\\u3000\\u3000北京市气象台首席预报员雷蕾表示，北京气温预计明显下降，白天最高气温由15日15℃降至17日4℃，48小时降温幅度达11℃；夜间最低气温由15日3℃降至16日-3℃，24小时降温幅度6℃左右。18日起气温开始回升。此外，15日夜间高海拔山区有零星小雪或小雪。\\n\\n\\u3000\\u3000北京市气象局提示，大风天气广大市民应远离高大建筑物、广告牌、临时搭建物，谨防高空坠物。天干物燥，严禁野外用火，以免发生森林火灾。\\n\\n\\u3000\\u3000同时，气温骤降，风寒效应明显，户外活动需注意添衣保暖，以防感冒。居家防寒注意用电用火用气安全，谨防火灾和一氧化碳中毒。(完)\\n\\n|  |\\n\\n|  |\\n\\n【编辑:张令旗】\\n\\n更多精彩内容请进入社会新闻\\n\\n发表评论 文明上网理性发言，请遵守新闻评论服务协议\\n\\n#### 社会新闻精选：\\n\\n 让现场痕迹“说话”的幕后警察', 'score': 0.983343}, {'title': '中国气象局-天气预报- 北京', 'url': 'https://weather.cma.cn/web/weather/', 'content': '1. 首页\\n2. 国内\\n3. 北京\\n4. 北京\\n\\n 国内\\n 国外\\n\\n|\\n\\n 北京市\\n 天津市\\n 河北省\\n 山西省\\n 内蒙古自治区\\n 辽宁省\\n 吉林省\\n 黑龙江省\\n 上海市\\n 江苏省\\n 浙江省\\n 安徽省\\n 福建省\\n 江西省\\n 山东省\\n 河南省\\n 湖北省\\n 湖南省\\n 广东省\\n 广西壮族自治区\\n 海南省\\n 重庆市\\n 四川省\\n 贵州省\\n 云南省\\n 西藏自治区\\n 陕西省\\n 甘肃省\\n 青海省\\n 宁夏回族自治区\\n 新疆维吾尔自治区\\n 香港特别行政区\\n 澳门特别行政区\\n 台湾省\\n\\n|\\n\\n 顺义\\n 北京\\n 大兴\\n 密云\\n 平谷\\n 延庆\\n 怀柔\\n 房山\\n 昌平\\n 通州\\n 门头沟\\n 丰台\\n 朝阳\\n 海淀\\n 石景山\\n\\n更新\\n\\n7天天气预报（2025/11/11 08:00发布）\\n\\nTue  \\n11/11\\n\\n晴\\n\\n北风\\n\\n微风\\n\\n15℃\\n\\n3℃\\n\\n多云\\n\\n北风\\n\\n微风\\n\\nWed  \\n11/12\\n\\n晴\\n\\n西北风\\n\\n微风\\n\\n16℃\\n\\n3℃\\n\\n晴\\n\\n北风\\n\\n微风\\n\\nThu  \\n11/13\\n\\n晴\\n\\n西南风\\n\\n微风\\n\\n晴\\n\\n西南风\\n\\n微风\\n\\nFri  \\n11/14\\n\\n晴\\n\\n微风\\n\\n晴\\n\\n北风\\n\\n微风 [...] Sat  \\n11/15\\n\\n晴\\n\\n微风\\n\\n多云\\n\\n西北风\\n\\nSun  \\n11/16\\n\\n晴\\n\\n西北风\\n\\n3~4级\\n\\n0℃\\n\\n晴\\n\\n西北风\\n\\n微风\\n\\nMon  \\n11/17\\n\\n晴\\n\\n西北风\\n\\n微风\\n\\n0℃\\n\\n晴\\n\\n西南风\\n\\n微风 [...] |  |  |  |  |  |  |  |  |  |\\n ---  ---  ---  --- \\n| 时间 | 08:00 | 11:00 | 14:00 | 17:00 | 20:00 | 23:00 | 02:00 | 05:00 |\\n| 天气 |\\n| 气温 | 5.2℃ | 11.1℃ | 16.4℃ | 13.3℃ | 9.3℃ | 7.6℃ | 7.1℃ | 4.7℃ |\\n| 降水 | 无降水 | 无降水 | 无降水 | 无降水 | 无降水 | 无降水 | 无降水 | 无降水 |\\n| 风速 | 3.3m/s | 1.2m/s | 2.2m/s | 3.3m/s | 2.8m/s | 3.2m/s | 3.3m/s | 3.1m/s |\\n| 风向 | 西北风 | 东北风 | 西南风 | 西北风 | 西北风 | 西北风 | 西北风 | 西北风 |\\n| 气压 | 1022.8hPa | 1023.1hPa | 1021.4hPa | 1022.1hPa | 1025.4hPa | 1027.7hPa | 1028.8hPa | 1029.3hPa |', 'score': 0.9755769}, {'title': '北京天气预报,北京7天天气预报,北京15天天气预报,北京天气查询', 'url': 'https://www.weather.com.cn/weather/101010100.shtml', 'content': '首页 预报 预警 雷达 云图 天气地图 专业产品 资讯 视频 节气 我的天空\\n\\n更多\\n\\n台风路径 空间天气 图片 专题 环境 旅游 碳中和 气象科普 一带一路 产创平台\\n\\n国内) 本地) 国际)\\n\\n:   北京 上海 成都 杭州 南京 天津 深圳 重庆 西安 广州 青岛 武汉\\n\\n:   故宫 阳朔漓江 龙门石窟 野三坡 颐和园 九寨沟 东方明珠 凤凰古城 秦始皇陵 桃花源\\n\\n高球\\n:   佘山 春城湖畔 华彬庄园 观澜湖 依必朗 旭宝 博鳌 玉龙雪山 番禺南沙 东方明珠\\n\\n<<返回 全国\\n\\n河北下辖区域\\n\\n热门城市\\n\\n:   曼谷 东京 首尔 吉隆坡 新加坡 巴黎 罗马 伦敦 雅典 柏林 纽约 温哥华 墨西哥城 哈瓦那 圣何塞 巴西利亚 布宜诺斯艾利斯 圣地亚哥 利马 基多 悉尼 墨尔本 惠灵顿 奥克兰 苏瓦 开罗 内罗毕 开普敦 维多利亚 拉巴特\\n\\n:   亚洲 欧洲 北美洲 南美洲 非洲 大洋洲\\n\\n全国> 北京 > 城区\\n\\n 今天\\n 7天\\n 8-15天\\n 40天\\n 雷达图\\n\\n # 13日（今天）\\n\\n  晴\\n\\n  14/1℃\\n\\n  <3级\\n # 14日（明天）\\n\\n  晴 [...] 无需担心过敏，可放心外出，享受生活。\\n 较冷 穿衣指数\\n\\n  建议着厚外套加毛衣等服装。)\\n 适宜 洗车指数\\n\\n  天气较好，适合擦洗汽车。\\n 中等 紫外线指数\\n\\n  涂擦SPF大于15、PA+防晒护肤品。\\n\\n# 天气资讯\\n\\n:   北京今明天晴朗天气在线 昼夜温差较大最低气温1℃左右  中国天气网 2025-11-13 07:01\\n\\n:   台风蓝色预警：“凤凰”今天将变性为温带气旋 东海等海域有大风  中国天气网 2025-11-13 06:05\\n\\n:   台风“凤凰”在台湾屏东县沿海登陆 或为今年登陆我国的末台风  中国天气网 2025-11-12 19:55\\n\\n:   台风蓝色预警：“凤凰”将于今晚在台湾岛西南部沿海登陆  中国天气网 2025-11-12 18:05\\n\\n:   今夜起四川降水增多 明后天盆地阴雨持续川西高原将现降雪  中国天气网 2025-11-12 16:59\\n\\n# 周边地区 | 周边景点 2025-11-13 07:30更新\\n\\n 香河\\n\\n  /\\n\\n  14/0°C\\n 涿州\\n\\n  /\\n\\n  15/0°C\\n 唐山\\n\\n  /\\n\\n  14/1°C\\n 沧州 [...] /\\n\\n  15/2°C\\n 天津\\n\\n  /\\n\\n  15/5°C\\n 廊坊\\n\\n  /\\n\\n  16/1°C\\n 太原\\n\\n  /\\n\\n  12/-1°C\\n 石家庄\\n\\n  /\\n\\n  15/3°C\\n 涿鹿\\n\\n  /\\n\\n  12/-1°C\\n 张家口\\n\\n  /\\n\\n  9/-2°C\\n 保定\\n\\n  /\\n\\n  15/-1°C\\n 三河\\n\\n  /\\n\\n  14/0°C\\n\\n# 周边地区 | 周边景点 2025-11-13 07:30更新\\n\\n 北京孔庙\\n\\n  /\\n\\n  14/4°C\\n 北京国子监\\n\\n  /\\n\\n  14/4°C\\n 中国地质博物馆\\n\\n  /\\n\\n  14/4°C\\n 月坛公园\\n\\n  /\\n\\n  15/4°C\\n 明城墙遗址公园\\n\\n  /\\n\\n  14/4°C\\n 北京市规划展览馆\\n\\n  /\\n\\n  14/1°C\\n 什刹海\\n\\n  /\\n\\n  14/3°C\\n 南锣鼓巷\\n\\n  /\\n\\n  14/4°C\\n 天坛公园\\n\\n  /\\n\\n  14/1°C\\n 北海公园\\n\\n  /\\n\\n  14/4°C\\n 景山公园\\n\\n  /\\n\\n  14/4°C\\n 北京海洋馆\\n\\n  /\\n\\n  15/3°C\\n\\n# 高清图集', 'score': 0.97262347}]\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3mDo I need to use a tool? No\n",
      "AI: 北京明天的天气预报显示，受强冷空气影响，气温将明显下降。预计明天白天最高气温将降至4℃，夜间最低气温将降至-3℃。同时，明天夜间将有4级左右的偏北风，阵风可达7级。请注意保暖，避免户外活动，以防感冒。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '北京明天的天气怎么样', 'chat_history': [HumanMessage(content='北京明天的天气怎么样', additional_kwargs={}, response_metadata={}), AIMessage(content='北京明天的天气预报显示，受强冷空气影响，气温将明显下降。预计明天白天最高气温将降至4℃，夜间最低气温将降至-3℃。同时，明天夜间将有4级左右的偏北风，阵风可达7级。请注意保暖，避免户外活动，以防感冒。', additional_kwargs={}, response_metadata={})], 'output': '北京明天的天气预报显示，受强冷空气影响，气温将明显下降。预计明天白天最高气温将降至4℃，夜间最低气温将降至-3℃。同时，明天夜间将有4级左右的偏北风，阵风可达7级。请注意保暖，避免户外活动，以防感冒。'}\n",
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m```\n",
      "Thought: Do I need to use a tool? Yes\n",
      "Action: TavilySearch\n",
      "Action Input: 上海明天的天气预报\n",
      "```\u001B[0m\n",
      "Observation: \u001B[36;1m\u001B[1;3m[{'title': '11月15日上海天气晴到多云11°C~20°C', 'url': 'http://sh.bendibao.com/news/20211115/245533.shtm', 'content': '【导语】：11月15日晴到多云，明天多云，今天上午以前有轻度霾。西南风，今天中午前后转南到东南风，今天夜里转偏东风，风力都是3-4级。今天最高温度20度，明天最低温度11度。\\n\\n11月15日上海天气\\n\\n\\u3000\\u3000天况：晴到多云\\n\\n\\u3000\\u3000气温：11-20℃\\n\\n\\u3000\\u3000风力：西南风，今天中午前后转南到东南风，今天夜里转偏东风\\n\\n\\u3000\\u3000空气质量：良\\n\\n今日天气：受高气压控制，上海今天延续晴好天气。早间气温起步市区在10℃附近，郊区大多在4~8℃之间。南到东南风3~4级，最高气温和昨日相仿，预计在20℃附近。昼夜温差大，早晚偏凉，午后舒适。\\n\\n天气趋势：周一到周六维持晴或多云的天气，气温总体较平稳，最低气温10~13℃，最高气温18~21℃。随着新一股冷空气来袭，周六夜里起上海会迎来降雨和降温，届时，气温将明显下降。\\n\\n未来几日天气\\n\\n\\u3000\\u300011月16日(周二)：多云，11～19度\\n\\n\\u3000\\u300011月17日(周三)：多云到阴，11～18度\\n\\n\\u3000\\u300011月18日(周四)：晴到多云，13～19度\\n\\n\\u3000\\u300011月19日(周五)：晴到多云，11～20度\\n\\n注：本文信息及图片来源于上海天气网。 [...] 11月16日(周二)：多云，11～19度\\n\\n\\u3000\\u300011月17日(周三)：多云到阴，11～18度\\n\\n\\u3000\\u300011月18日(周四)：晴到多云，13～19度\\n\\n\\u3000\\u300011月19日(周五)：晴到多云，11～20度\\n\\n注：本文信息及图片来源于上海天气网。\\n\\n手机访问 上海本地宝首页\\n\\n相关推荐 上海天气预报 上海天气情况\\n\\n- 2025上海国庆天气预报(21～31℃ 多云为主）\\n\\n  今年国庆和中秋假期上海天气条件总体适宜出行。假期一头一尾天气较好。10月2-5日局地有弱降水。6日（中秋节）白天降水相对明显，夜间雨渐止，可见彩云追月。\\n- 8月26日上海发布高温橙色预警\\n\\n  上海中心气象台2025年08月26日14时28分更新高温黄色预警信号为高温橙色预警信号：预计中心城区今天的最高气温将超过37℃。\\n- 8号台风竹节草对上海有影响吗（附最新天气预报）\\n\\n  台风竹节草有可能登陆上海，29日夜间至30日，上海有明显风雨。台风对上海具体风雨影响详见正文。\\n- 受台风竹节草影响 上海7月29日至30日有明显风雨 [...] 生活指南\\n 关注\\n 生活\\n 经济\\n 旅游\\n 社会\\n 教育\\n 文体\\n 提醒\\n 新政\\n\\n \\n\\n2021-11-15 09:19作者：一片阑珊【我要纠错】\\n\\n分享至\\n\\n#### 微信扫一扫：分享\\n\\n微信里点“发现”，扫一下\\n\\n二维码便可将本文分享至朋友圈。\\n\\n【导语】：11月15日晴到多云，明天多云，今天上午以前有轻度霾。西南风，今天中午前后转南到东南风，今天夜里转偏东风，风力都是3-4级。今天最高温度20度，明天最低温度11度。\\n\\n11月15日上海天气\\n\\n\\u3000\\u3000天况：晴到多云\\n\\n\\u3000\\u3000气温：11-20℃\\n\\n\\u3000\\u3000风力：西南风，今天中午前后转南到东南风，今天夜里转偏东风\\n\\n\\u3000\\u3000空气质量：良\\n\\n今日天气：受高气压控制，上海今天延续晴好天气。早间气温起步市区在10℃附近，郊区大多在4~8℃之间。南到东南风3~4级，最高气温和昨日相仿，预计在20℃附近。昼夜温差大，早晚偏凉，午后舒适。\\n\\n天气趋势：周一到周六维持晴或多云的天气，气温总体较平稳，最低气温10~13℃，最高气温18~21℃。随着新一股冷空气来袭，周六夜里起上海会迎来降雨和降温，届时，气温将明显下降。\\n\\n未来几日天气', 'score': 0.97821885}, {'title': '上海 - 中国气象局-天气预报-城市预报', 'url': 'https://weather.cma.cn/web/weather/58367.html', 'content': '1. 首页\\n2. 国内\\n3. 上海\\n4. 徐家汇\\n\\n 国内\\n 国外\\n\\n|\\n\\n 北京市\\n 天津市\\n 河北省\\n 山西省\\n 内蒙古自治区\\n 辽宁省\\n 吉林省\\n 黑龙江省\\n 上海市\\n 江苏省\\n 浙江省\\n 安徽省\\n 福建省\\n 江西省\\n 山东省\\n 河南省\\n 湖北省\\n 湖南省\\n 广东省\\n 广西壮族自治区\\n 海南省\\n 重庆市\\n 四川省\\n 贵州省\\n 云南省\\n 西藏自治区\\n 陕西省\\n 甘肃省\\n 青海省\\n 宁夏回族自治区\\n 新疆维吾尔自治区\\n 香港特别行政区\\n 澳门特别行政区\\n 台湾省\\n\\n|\\n\\n 徐家汇\\n 嘉定\\n 奉贤\\n 宝山\\n 崇明\\n 松江\\n 浦东\\n 金山\\n 闵行\\n 青浦\\n\\n更新\\n\\n7天天气预报（2025/11/12 12:00发布）\\n\\n星期三   \\n11/12\\n\\n阴\\n\\n北风\\n\\n3~4级\\n\\n17℃\\n\\n14℃\\n\\n阴\\n\\n北风\\n\\n3~4级\\n\\n星期四   \\n11/13\\n\\n阴\\n\\n北风\\n\\n3~4级\\n\\n19℃\\n\\n13℃\\n\\n晴\\n\\n北风\\n\\n微风\\n\\n星期五   \\n11/14\\n\\n晴\\n\\n微风\\n\\n北风\\n\\n微风\\n\\n星期六   \\n11/15\\n\\n多云\\n\\n微风\\n\\n19℃\\n\\n13℃\\n\\n阴\\n\\n北风\\n\\n微风\\n\\n星期日   \\n11/16\\n\\n多云', 'score': 0.9750122}, {'title': '上海天气预报,上海7天天气预报,上海15天天气预报,上海天气查询', 'url': 'https://www.weather.com.cn/weather/101020100.shtml', 'content': '首页 预报 预警 雷达 云图 天气地图 专业产品 资讯 视频 节气 我的天空\\n\\n更多\\n\\n台风路径 空间天气 图片 专题 环境 旅游 碳中和 气象科普 一带一路 产创平台\\n\\n国内) 本地) 国际)\\n\\n:   北京 上海 成都 杭州 南京 天津 深圳 重庆 西安 广州 青岛 武汉\\n\\n:   故宫 阳朔漓江 龙门石窟 野三坡 颐和园 九寨沟 东方明珠 凤凰古城 秦始皇陵 桃花源\\n\\n高球\\n:   佘山 春城湖畔 华彬庄园 观澜湖 依必朗 旭宝 博鳌 玉龙雪山 番禺南沙 东方明珠\\n\\n<<返回 全国\\n\\n河北下辖区域\\n\\n热门城市\\n\\n:   曼谷 东京 首尔 吉隆坡 新加坡 巴黎 罗马 伦敦 雅典 柏林 纽约 温哥华 墨西哥城 哈瓦那 圣何塞 巴西利亚 布宜诺斯艾利斯 圣地亚哥 利马 基多 悉尼 墨尔本 惠灵顿 奥克兰 苏瓦 开罗 内罗毕 开普敦 维多利亚 拉巴特\\n\\n:   亚洲 欧洲 北美洲 南美洲 非洲 大洋洲\\n\\n全国> 上海 > 城区\\n\\n 今天\\n 7天\\n 8-15天\\n 40天\\n 雷达图\\n\\n # 10日（今天）\\n\\n  阴\\n\\n  13℃\\n\\n  <3级\\n # 11日（明天）\\n\\n  阴 [...] 建议着厚外套加毛衣等服装。)\\n 不宜 洗车指数\\n\\n  有雨，雨水和泥水会弄脏爱车。\\n 最弱 紫外线指数\\n\\n  辐射弱，涂擦SPF8-12防晒护肤品。\\n\\n 少发 感冒指数\\n\\n  无明显降温，感冒机率较低。\\n 适宜 运动指数\\n\\n  天气较好，尽情感受运动的快乐吧。\\n 极不易发 过敏指数\\n\\n  无需担心过敏，可放心外出，享受生活。\\n 较舒适 穿衣指数\\n\\n  建议穿薄外套或牛仔裤等服装。)\\n 较不宜 洗车指数\\n\\n  路面有积水，车子易被溅上泥水。\\n 强 紫外线指数\\n\\n  涂擦SPF大于15、PA+防晒护肤品。\\n\\n 少发 感冒指数\\n\\n  无明显降温，感冒机率较低。\\n 适宜 运动指数\\n\\n  天气较好，尽情感受运动的快乐吧。\\n 极不易发 过敏指数\\n\\n  无需担心过敏，可放心外出，享受生活。\\n 较舒适 穿衣指数\\n\\n  建议穿薄外套或牛仔裤等服装。)\\n 适宜 洗车指数\\n\\n  天气较好，适合擦洗汽车。\\n 弱 紫外线指数\\n\\n  辐射较弱，涂擦SPF12-15、PA+护肤品。\\n\\n 少发 感冒指数\\n\\n  无明显降温，感冒机率较低。\\n 较适宜 运动指数 [...] 辐射弱，涂擦SPF8-12防晒护肤品。\\n\\n 少发 感冒指数\\n\\n  无明显降温，感冒机率较低。\\n 较适宜 运动指数\\n\\n  风力稍强，推荐您进行室内运动。\\n 极不易发 过敏指数\\n\\n  无需担心过敏，可放心外出，享受生活。\\n 较冷 穿衣指数\\n\\n  建议着厚外套加毛衣等服装。)\\n 较不宜 洗车指数\\n\\n  风力较大，洗车后会蒙上灰尘。\\n 最弱 紫外线指数\\n\\n  辐射弱，涂擦SPF8-12防晒护肤品。\\n\\n 较易发 感冒指数\\n\\n  天凉，湿度大，较易感冒。\\n 较不宜 运动指数\\n\\n  有降水，推荐您在室内进行休闲运动。\\n 极不易发 过敏指数\\n\\n  无需担心过敏，可放心外出，享受生活。\\n 较冷 穿衣指数\\n\\n  建议着厚外套加毛衣等服装。)\\n 不宜 洗车指数\\n\\n  有雨，雨水和泥水会弄脏爱车。\\n 最弱 紫外线指数\\n\\n  辐射弱，涂擦SPF8-12防晒护肤品。\\n\\n 少发 感冒指数\\n\\n  无明显降温，感冒机率较低。\\n 较不宜 运动指数\\n\\n  有降水，推荐您在室内进行休闲运动。\\n 极不易发 过敏指数\\n\\n  无需担心过敏，可放心外出，享受生活。\\n 较冷 穿衣指数', 'score': 0.96210754}]\u001B[0m\n",
      "Thought:\u001B[32;1m\u001B[1;3mDo I need to use a tool? No\n",
      "AI: 上海明天的天气预报显示，天气将是多云，气温在11℃到20℃之间。风力为西南风，风速在3到4级。空气质量良好。请注意早晚的温差，适当增添衣物以保持温暖。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '上海呢？', 'chat_history': [HumanMessage(content='北京明天的天气怎么样', additional_kwargs={}, response_metadata={}), AIMessage(content='北京明天的天气预报显示，受强冷空气影响，气温将明显下降。预计明天白天最高气温将降至4℃，夜间最低气温将降至-3℃。同时，明天夜间将有4级左右的偏北风，阵风可达7级。请注意保暖，避免户外活动，以防感冒。', additional_kwargs={}, response_metadata={}), HumanMessage(content='上海呢？', additional_kwargs={}, response_metadata={}), AIMessage(content='上海明天的天气预报显示，天气将是多云，气温在11℃到20℃之间。风力为西南风，风速在3到4级。空气质量良好。请注意早晚的温差，适当增添衣物以保持温暖。', additional_kwargs={}, response_metadata={})], 'output': '上海明天的天气预报显示，天气将是多云，气温在11℃到20℃之间。风力为西南风，风速在3到4级。空气质量良好。请注意早晚的温差，适当增添衣物以保持温暖。'}\n"
     ]
    }
   ],
   "execution_count": 38
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## 通用方式\n",
    "**举例1：FUNCATION_CALL模式**\n",
    "如果使用的是FUNCTION_CALL方式，则创建Agent时，推荐使用ChatPromptTemplate"
   ],
   "id": "527b14f37b23a280"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-11-14T11:29:26.172710Z",
     "start_time": "2025-11-14T11:29:12.946404Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from langchain.tools import Tool\n",
    "from langchain_community.tools.tavily_search import TavilySearchResults\n",
    "from langchain.memory import ConversationBufferMemory\n",
    "\n",
    "import os\n",
    "\n",
    "dotenv.load_dotenv(override=True)\n",
    "os.environ[\"TAVILY_API_KEY\"] = os.getenv(\"TAVILY_API_KEY\")\n",
    "\n",
    "# 定义Tavily工具\n",
    "search_define = TavilySearchResults(max_results=1)\n",
    "SEARCH_TOOL = Tool(name=\"TavilySearch\", func=search_define.run, description=\"用于搜索互联网上的信息\")\n",
    "\n",
    "prompt = ChatPromptTemplate.from_messages(\n",
    "    [\n",
    "        (\"system\", \"你是一个有用的助手，可以回答问题并使用工具。\"),\n",
    "        (\"placeholder\", \"{chat_history}\"),\n",
    "        (\"human\", \"{input}\"),\n",
    "        (\"placeholder\", \"{agent_scratchpad}\")\n",
    "    ]\n",
    ")\n",
    "\n",
    "memory = ConversationBufferMemory(return_messages=True, memory_key=\"chat_history\")\n",
    "\n",
    "agent = create_tool_calling_agent(\n",
    "    llm=CHAT_MODEL,\n",
    "    tools=[SEARCH_TOOL],\n",
    "    prompt=prompt\n",
    ")\n",
    "\n",
    "agent_executor = AgentExecutor(agent=agent, tools=[SEARCH_TOOL], memory=memory, verbose=True)\n",
    "\n",
    "result = agent_executor.invoke({\"input\": \"北京明天的天气怎么样？\"})\n",
    "print(f\"查询结果: {result}\")\n",
    "\n",
    "result = agent_executor.invoke({\"input\": \"上海呢？\"})\n",
    "print(f\"查询结果: {result}\")"
   ],
   "id": "f2988348bead1acf",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m\n",
      "Invoking: `TavilySearch` with `北京 明天的天气`\n",
      "\n",
      "\n",
      "\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '北京天气预报,北京7天天气预报,北京15天天气预报,北京天气查询', 'url': 'https://www.weather.com.cn/weather/101010100.shtml', 'content': '首页 预报 预警 雷达 云图 天气地图 专业产品 资讯 视频 节气 我的天空\\n\\n更多\\n\\n台风路径 空间天气 图片 专题 环境 旅游 碳中和 气象科普 一带一路 产创平台\\n\\n国内) 本地) 国际)\\n\\n:   北京 上海 成都 杭州 南京 天津 深圳 重庆 西安 广州 青岛 武汉\\n\\n:   故宫 阳朔漓江 龙门石窟 野三坡 颐和园 九寨沟 东方明珠 凤凰古城 秦始皇陵 桃花源\\n\\n高球\\n:   佘山 春城湖畔 华彬庄园 观澜湖 依必朗 旭宝 博鳌 玉龙雪山 番禺南沙 东方明珠\\n\\n<<返回 全国\\n\\n河北下辖区域\\n\\n热门城市\\n\\n:   曼谷 东京 首尔 吉隆坡 新加坡 巴黎 罗马 伦敦 雅典 柏林 纽约 温哥华 墨西哥城 哈瓦那 圣何塞 巴西利亚 布宜诺斯艾利斯 圣地亚哥 利马 基多 悉尼 墨尔本 惠灵顿 奥克兰 苏瓦 开罗 内罗毕 开普敦 维多利亚 拉巴特\\n\\n:   亚洲 欧洲 北美洲 南美洲 非洲 大洋洲\\n\\n全国> 北京 > 城区\\n\\n 今天\\n 7天\\n 8-15天\\n 40天\\n 雷达图\\n\\n # 13日（今天）\\n\\n  晴\\n\\n  14/1℃\\n\\n  <3级\\n # 14日（明天）\\n\\n  晴 [...] 无需担心过敏，可放心外出，享受生活。\\n 较冷 穿衣指数\\n\\n  建议着厚外套加毛衣等服装。)\\n 适宜 洗车指数\\n\\n  天气较好，适合擦洗汽车。\\n 中等 紫外线指数\\n\\n  涂擦SPF大于15、PA+防晒护肤品。\\n\\n# 天气资讯\\n\\n:   北京今明天晴朗天气在线 昼夜温差较大最低气温1℃左右  中国天气网 2025-11-13 07:01\\n\\n:   台风蓝色预警：“凤凰”今天将变性为温带气旋 东海等海域有大风  中国天气网 2025-11-13 06:05\\n\\n:   台风“凤凰”在台湾屏东县沿海登陆 或为今年登陆我国的末台风  中国天气网 2025-11-12 19:55\\n\\n:   台风蓝色预警：“凤凰”将于今晚在台湾岛西南部沿海登陆  中国天气网 2025-11-12 18:05\\n\\n:   今夜起四川降水增多 明后天盆地阴雨持续川西高原将现降雪  中国天气网 2025-11-12 16:59\\n\\n# 周边地区 | 周边景点 2025-11-13 07:30更新\\n\\n 香河\\n\\n  /\\n\\n  14/0°C\\n 涿州\\n\\n  /\\n\\n  15/0°C\\n 唐山\\n\\n  /\\n\\n  14/1°C\\n 沧州 [...] /\\n\\n  15/2°C\\n 天津\\n\\n  /\\n\\n  15/5°C\\n 廊坊\\n\\n  /\\n\\n  16/1°C\\n 太原\\n\\n  /\\n\\n  12/-1°C\\n 石家庄\\n\\n  /\\n\\n  15/3°C\\n 涿鹿\\n\\n  /\\n\\n  12/-1°C\\n 张家口\\n\\n  /\\n\\n  9/-2°C\\n 保定\\n\\n  /\\n\\n  15/-1°C\\n 三河\\n\\n  /\\n\\n  14/0°C\\n\\n# 周边地区 | 周边景点 2025-11-13 07:30更新\\n\\n 北京孔庙\\n\\n  /\\n\\n  14/4°C\\n 北京国子监\\n\\n  /\\n\\n  14/4°C\\n 中国地质博物馆\\n\\n  /\\n\\n  14/4°C\\n 月坛公园\\n\\n  /\\n\\n  15/4°C\\n 明城墙遗址公园\\n\\n  /\\n\\n  14/4°C\\n 北京市规划展览馆\\n\\n  /\\n\\n  14/1°C\\n 什刹海\\n\\n  /\\n\\n  14/3°C\\n 南锣鼓巷\\n\\n  /\\n\\n  14/4°C\\n 天坛公园\\n\\n  /\\n\\n  14/1°C\\n 北海公园\\n\\n  /\\n\\n  14/4°C\\n 景山公园\\n\\n  /\\n\\n  14/4°C\\n 北京海洋馆\\n\\n  /\\n\\n  15/3°C\\n\\n# 高清图集', 'score': 0.9953544}]\u001B[0m\u001B[32;1m\u001B[1;3m明天（14日）北京的天气预报是晴天，气温在14°C到1°C之间。由于昼夜温差较大，建议穿着厚外套加毛衣等服装。整体来说，天气适宜外出，洗车指数也较好。\n",
      "\n",
      "如果想要查看更详细的天气信息，可以访问[中国天气网](https://www.weather.com.cn/weather/101010100.shtml)。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '北京明天的天气怎么样？', 'chat_history': [HumanMessage(content='北京明天的天气怎么样？', additional_kwargs={}, response_metadata={}), AIMessage(content='明天（14日）北京的天气预报是晴天，气温在14°C到1°C之间。由于昼夜温差较大，建议穿着厚外套加毛衣等服装。整体来说，天气适宜外出，洗车指数也较好。\\n\\n如果想要查看更详细的天气信息，可以访问[中国天气网](https://www.weather.com.cn/weather/101010100.shtml)。', additional_kwargs={}, response_metadata={})], 'output': '明天（14日）北京的天气预报是晴天，气温在14°C到1°C之间。由于昼夜温差较大，建议穿着厚外套加毛衣等服装。整体来说，天气适宜外出，洗车指数也较好。\\n\\n如果想要查看更详细的天气信息，可以访问[中国天气网](https://www.weather.com.cn/weather/101010100.shtml)。'}\n",
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m\n",
      "Invoking: `TavilySearch` with `上海明天的天气预报`\n",
      "\n",
      "\n",
      "\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '11月15日上海天气晴到多云11°C~20°C', 'url': 'http://sh.bendibao.com/news/20211115/245533.shtm', 'content': '【导语】：11月15日晴到多云，明天多云，今天上午以前有轻度霾。西南风，今天中午前后转南到东南风，今天夜里转偏东风，风力都是3-4级。今天最高温度20度，明天最低温度11度。\\n\\n11月15日上海天气\\n\\n\\u3000\\u3000天况：晴到多云\\n\\n\\u3000\\u3000气温：11-20℃\\n\\n\\u3000\\u3000风力：西南风，今天中午前后转南到东南风，今天夜里转偏东风\\n\\n\\u3000\\u3000空气质量：良\\n\\n今日天气：受高气压控制，上海今天延续晴好天气。早间气温起步市区在10℃附近，郊区大多在4~8℃之间。南到东南风3~4级，最高气温和昨日相仿，预计在20℃附近。昼夜温差大，早晚偏凉，午后舒适。\\n\\n天气趋势：周一到周六维持晴或多云的天气，气温总体较平稳，最低气温10~13℃，最高气温18~21℃。随着新一股冷空气来袭，周六夜里起上海会迎来降雨和降温，届时，气温将明显下降。\\n\\n未来几日天气\\n\\n\\u3000\\u300011月16日(周二)：多云，11～19度\\n\\n\\u3000\\u300011月17日(周三)：多云到阴，11～18度\\n\\n\\u3000\\u300011月18日(周四)：晴到多云，13～19度\\n\\n\\u3000\\u300011月19日(周五)：晴到多云，11～20度\\n\\n注：本文信息及图片来源于上海天气网。 [...] 11月16日(周二)：多云，11～19度\\n\\n\\u3000\\u300011月17日(周三)：多云到阴，11～18度\\n\\n\\u3000\\u300011月18日(周四)：晴到多云，13～19度\\n\\n\\u3000\\u300011月19日(周五)：晴到多云，11～20度\\n\\n注：本文信息及图片来源于上海天气网。\\n\\n手机访问 上海本地宝首页\\n\\n相关推荐 上海天气预报 上海天气情况\\n\\n- 2025上海国庆天气预报(21～31℃ 多云为主）\\n\\n  今年国庆和中秋假期上海天气条件总体适宜出行。假期一头一尾天气较好。10月2-5日局地有弱降水。6日（中秋节）白天降水相对明显，夜间雨渐止，可见彩云追月。\\n- 8月26日上海发布高温橙色预警\\n\\n  上海中心气象台2025年08月26日14时28分更新高温黄色预警信号为高温橙色预警信号：预计中心城区今天的最高气温将超过37℃。\\n- 8号台风竹节草对上海有影响吗（附最新天气预报）\\n\\n  台风竹节草有可能登陆上海，29日夜间至30日，上海有明显风雨。台风对上海具体风雨影响详见正文。\\n- 受台风竹节草影响 上海7月29日至30日有明显风雨 [...] 生活指南\\n 关注\\n 生活\\n 经济\\n 旅游\\n 社会\\n 教育\\n 文体\\n 提醒\\n 新政\\n\\n \\n\\n2021-11-15 09:19作者：一片阑珊【我要纠错】\\n\\n分享至\\n\\n#### 微信扫一扫：分享\\n\\n微信里点“发现”，扫一下\\n\\n二维码便可将本文分享至朋友圈。\\n\\n【导语】：11月15日晴到多云，明天多云，今天上午以前有轻度霾。西南风，今天中午前后转南到东南风，今天夜里转偏东风，风力都是3-4级。今天最高温度20度，明天最低温度11度。\\n\\n11月15日上海天气\\n\\n\\u3000\\u3000天况：晴到多云\\n\\n\\u3000\\u3000气温：11-20℃\\n\\n\\u3000\\u3000风力：西南风，今天中午前后转南到东南风，今天夜里转偏东风\\n\\n\\u3000\\u3000空气质量：良\\n\\n今日天气：受高气压控制，上海今天延续晴好天气。早间气温起步市区在10℃附近，郊区大多在4~8℃之间。南到东南风3~4级，最高气温和昨日相仿，预计在20℃附近。昼夜温差大，早晚偏凉，午后舒适。\\n\\n天气趋势：周一到周六维持晴或多云的天气，气温总体较平稳，最低气温10~13℃，最高气温18~21℃。随着新一股冷空气来袭，周六夜里起上海会迎来降雨和降温，届时，气温将明显下降。\\n\\n未来几日天气', 'score': 0.9965436}]\u001B[0m\u001B[32;1m\u001B[1;3m明天（15日）上海的天气预报是晴到多云，气温在11°C到20°C之间。风力为西南风，预计会转为南到东南风，风力为3-4级。空气质量良好。\n",
      "\n",
      "整体来说，明天的天气适宜外出，但早晚温差较大，建议穿着适合的衣物。\n",
      "\n",
      "如果想要查看更详细的天气信息，可以访问[上海天气网](http://sh.bendibao.com/news/20211115/245533.shtm)。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '上海呢？', 'chat_history': [HumanMessage(content='北京明天的天气怎么样？', additional_kwargs={}, response_metadata={}), AIMessage(content='明天（14日）北京的天气预报是晴天，气温在14°C到1°C之间。由于昼夜温差较大，建议穿着厚外套加毛衣等服装。整体来说，天气适宜外出，洗车指数也较好。\\n\\n如果想要查看更详细的天气信息，可以访问[中国天气网](https://www.weather.com.cn/weather/101010100.shtml)。', additional_kwargs={}, response_metadata={}), HumanMessage(content='上海呢？', additional_kwargs={}, response_metadata={}), AIMessage(content='明天（15日）上海的天气预报是晴到多云，气温在11°C到20°C之间。风力为西南风，预计会转为南到东南风，风力为3-4级。空气质量良好。\\n\\n整体来说，明天的天气适宜外出，但早晚温差较大，建议穿着适合的衣物。\\n\\n如果想要查看更详细的天气信息，可以访问[上海天气网](http://sh.bendibao.com/news/20211115/245533.shtm)。', additional_kwargs={}, response_metadata={})], 'output': '明天（15日）上海的天气预报是晴到多云，气温在11°C到20°C之间。风力为西南风，预计会转为南到东南风，风力为3-4级。空气质量良好。\\n\\n整体来说，明天的天气适宜外出，但早晚温差较大，建议穿着适合的衣物。\\n\\n如果想要查看更详细的天气信息，可以访问[上海天气网](http://sh.bendibao.com/news/20211115/245533.shtm)。'}\n"
     ]
    }
   ],
   "execution_count": 41
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## 举例2：ReAct 模式\n",
    "ReAct模式下，创建Agent时，可以使用ChatPromptTemplate、PromptTemplate"
   ],
   "id": "32b047f06958c018"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-11-14T11:52:27.600620Z",
     "start_time": "2025-11-14T11:52:04.802942Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import langchain_core.prompts\n",
    "from langchain.tools import Tool\n",
    "from langchain_community.tools.tavily_search import TavilySearchResults\n",
    "from langchain.memory import ConversationBufferMemory\n",
    "\n",
    "import os\n",
    "\n",
    "dotenv.load_dotenv(override=True)\n",
    "os.environ[\"TAVILY_API_KEY\"] = os.getenv(\"TAVILY_API_KEY\")\n",
    "\n",
    "search_define = TavilySearchResults(max_results=1)\n",
    "SEARCH_TOOL = Tool(name=\"TavilySearch\", func=search_define.run, description=\"用于搜索互联网上的信息\")\n",
    "\n",
    "prompt = langchain_core.prompts.PromptTemplate.from_template(\n",
    "    \"\"\"\n",
    "    Answer the following questions as best you can. You have access to the following tools:\n",
    "\n",
    "    {tools}\n",
    "\n",
    "    Use the following format:\n",
    "\n",
    "    Question: the input question you must answer\n",
    "    Thought: you should always think about what to do\n",
    "    Action: the action to take, should be one of [{tool_names}]\n",
    "    Action Input: the input to the action\n",
    "    Observation: the result of the action\n",
    "    ... (this Thought/Action/Action Input/Observation can repeat N times)\n",
    "    Thought: I now know the final answer\n",
    "    Final Answer: the final answer to the original input question\n",
    "\n",
    "    Begin!\n",
    "\n",
    "    Previous conversation history: {chat_history}\n",
    "    Question: {input}\n",
    "    Thought:{agent_scratchpad}\n",
    "    \"\"\"\n",
    ")\n",
    "\n",
    "memory = ConversationBufferMemory(return_messages=True, memory_key=\"chat_history\")\n",
    "\n",
    "agent = create_react_agent(llm=CHAT_MODEL, tools=[SEARCH_TOOL], prompt=prompt)\n",
    "agent_executor = AgentExecutor(agent=agent, tools=[SEARCH_TOOL], memory=memory, verbose=True)\n",
    "\n",
    "result = agent_executor.invoke({\"input\": \"深圳明天的天气怎么样？\"})\n",
    "print(f\"查询结果: {result}\")\n",
    "\n",
    "result = agent_executor.invoke({\"input\": \"汕头呢？\"})\n",
    "print(f\"查询结果: {result}\")"
   ],
   "id": "9ac94800d3fbe976",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3mTo answer the question about the weather in Shenzhen for tomorrow, I need to search for the latest weather information. \n",
      "\n",
      "Action: TavilySearch  \n",
      "Action Input: \"Shenzhen weather forecast for tomorrow\"  \u001B[0m\u001B[36;1m\u001B[1;3m[{'title': 'Shenzhen, Guangdong, China Weather Forecast - AccuWeather', 'url': 'https://www.accuweather.com/en/cn/shenzhen/58194/weather-forecast/58194', 'content': \"## Current Weather\\n\\n7:52 PM\\n\\n## Looking Ahead\\n\\nNoticeably cooler Tuesday\\n\\n## Shenzhen Weather Radar\\n\\nShenzhen Weather Radar\\n\\n## Hourly Weather\\n\\nrain drop\\n\\nrain drop\\n\\nrain drop\\n\\nrain drop\\n\\nrain drop\\n\\nrain drop\\n\\nrain drop\\n\\nrain drop\\n\\nrain drop\\n\\nrain drop\\n\\nrain drop\\n\\nrain drop\\n\\n## 10-Day Weather Forecast\\n\\nTonight\\n\\n11/14\\n\\nIncreasing cloudiness\\n\\nSat\\n\\n11/15\\n\\nClouds yielding to sun\\n\\nNight: Mainly clear\\n\\nSun\\n\\n11/16\\n\\nSunshine\\n\\nClear and humid\\n\\nMon\\n\\n11/17\\n\\nAbundant sunshine\\n\\nClear\\n\\nTue\\n\\n11/18 [...] # Shenzhen, Guangdong\\n\\n## Around the Globe\\n\\nAround the Globe\\n\\n### Hurricane Tracker\\n\\n### Severe Weather\\n\\n### Radar & Maps\\n\\n### News & Features\\n\\n### Astronomy\\n\\n### Business\\n\\n### Climate\\n\\n### Health\\n\\n### Recreation\\n\\n### Sports\\n\\n### Travel\\n\\n### Warnings\\n\\n### Data Suite\\n\\n### Forensics\\n\\n### Advertising\\n\\n### Superior Accuracy™\\n\\n### Video\\n\\n## Today\\n\\n## Tonight's Weather\\n\\nFri, Nov 14\\n\\nIncreasing cloudiness\\nLo: 69°\\n\\nTomorrow: Cloudy in the morning, then clouds and sun in the afternoon\\nHi: 81° [...] ## Weather Near Shenzhen:\", 'score': 0.98707944}]\u001B[0m\u001B[32;1m\u001B[1;3mThe weather forecast for Shenzhen tomorrow indicates that it will be cloudy in the morning, transitioning to a mix of clouds and sun in the afternoon. The high temperature is expected to be around 81°F (approximately 27°C).\n",
      "\n",
      "Final Answer: 深圳明天的天气预报是早上多云，下午有云和阳光，最高气温约为81°F（约27°C）。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '深圳明天的天气怎么样？', 'chat_history': [HumanMessage(content='深圳明天的天气怎么样？', additional_kwargs={}, response_metadata={}), AIMessage(content='深圳明天的天气预报是早上多云，下午有云和阳光，最高气温约为81°F（约27°C）。', additional_kwargs={}, response_metadata={})], 'output': '深圳明天的天气预报是早上多云，下午有云和阳光，最高气温约为81°F（约27°C）。'}\n",
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3mTo find out the weather forecast for Shantou tomorrow, I will need to search for the latest weather information.\n",
      "\n",
      "Action: TavilySearch  \n",
      "Action Input: \"汕头 明天的天气预报\"  \u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '汕头天气预报,汕头7天天气预报,汕头15天天气预报,汕头天气查询', 'url': 'https://www.weather.com.cn/weather/101280501.shtml', 'content': '首页 预报 预警 雷达 云图 天气地图 专业产品 资讯 视频 节气 我的天空\\n\\n更多\\n\\n台风路径 空间天气 图片 专题 环境 旅游 碳中和 气象科普 一带一路 产创平台\\n\\n国内) 本地) 国际)\\n\\n:   北京 上海 成都 杭州 南京 天津 深圳 重庆 西安 广州 青岛 武汉\\n\\n:   故宫 阳朔漓江 龙门石窟 野三坡 颐和园 九寨沟 东方明珠 凤凰古城 秦始皇陵 桃花源\\n\\n高球\\n:   佘山 春城湖畔 华彬庄园 观澜湖 依必朗 旭宝 博鳌 玉龙雪山 番禺南沙 东方明珠\\n\\n<<返回 全国\\n\\n河北下辖区域\\n\\n热门城市\\n\\n:   曼谷 东京 首尔 吉隆坡 新加坡 巴黎 罗马 伦敦 雅典 柏林 纽约 温哥华 墨西哥城 哈瓦那 圣何塞 巴西利亚 布宜诺斯艾利斯 圣地亚哥 利马 基多 悉尼 墨尔本 惠灵顿 奥克兰 苏瓦 开罗 内罗毕 开普敦 维多利亚 拉巴特\\n\\n:   亚洲 欧洲 北美洲 南美洲 非洲 大洋洲\\n\\n全国> 广东 > 汕头> 城区\\n\\n 今天\\n 7天\\n 8-15天\\n 40天\\n 雷达图\\n\\n # 14日（今天）\\n\\n  晴转多云\\n\\n  26/20℃\\n\\n  <3级\\n # 15日（明天）', 'score': 0.9971771}]\u001B[0m\u001B[32;1m\u001B[1;3mTo find the weather forecast for Shantou tomorrow, I will need to extract the relevant information from the search result.\n",
      "\n",
      "Action: TavilySearch  \n",
      "Action Input: \"汕头 明天的天气预报\"  \u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '汕头天气预报,汕头7天天气预报,汕头15天天气预报,汕头天气查询', 'url': 'https://www.weather.com.cn/weather/101280501.shtml', 'content': '首页 预报 预警 雷达 云图 天气地图 专业产品 资讯 视频 节气 我的天空\\n\\n更多\\n\\n台风路径 空间天气 图片 专题 环境 旅游 碳中和 气象科普 一带一路 产创平台\\n\\n国内) 本地) 国际)\\n\\n:   北京 上海 成都 杭州 南京 天津 深圳 重庆 西安 广州 青岛 武汉\\n\\n:   故宫 阳朔漓江 龙门石窟 野三坡 颐和园 九寨沟 东方明珠 凤凰古城 秦始皇陵 桃花源\\n\\n高球\\n:   佘山 春城湖畔 华彬庄园 观澜湖 依必朗 旭宝 博鳌 玉龙雪山 番禺南沙 东方明珠\\n\\n<<返回 全国\\n\\n河北下辖区域\\n\\n热门城市\\n\\n:   曼谷 东京 首尔 吉隆坡 新加坡 巴黎 罗马 伦敦 雅典 柏林 纽约 温哥华 墨西哥城 哈瓦那 圣何塞 巴西利亚 布宜诺斯艾利斯 圣地亚哥 利马 基多 悉尼 墨尔本 惠灵顿 奥克兰 苏瓦 开罗 内罗毕 开普敦 维多利亚 拉巴特\\n\\n:   亚洲 欧洲 北美洲 南美洲 非洲 大洋洲\\n\\n全国> 广东 > 汕头> 城区\\n\\n 今天\\n 7天\\n 8-15天\\n 40天\\n 雷达图\\n\\n # 14日（今天）\\n\\n  晴转多云\\n\\n  26/20℃\\n\\n  <3级\\n # 15日（明天）', 'score': 0.9971771}]\u001B[0m\u001B[32;1m\u001B[1;3mI need to extract the weather information for Shantou tomorrow from the search results.\n",
      "\n",
      "Action: TavilySearch  \n",
      "Action Input: \"汕头 明天的天气预报\"  \u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '汕头天气预报,汕头7天天气预报,汕头15天天气预报,汕头天气查询', 'url': 'https://www.weather.com.cn/weather/101280501.shtml', 'content': '首页 预报 预警 雷达 云图 天气地图 专业产品 资讯 视频 节气 我的天空\\n\\n更多\\n\\n台风路径 空间天气 图片 专题 环境 旅游 碳中和 气象科普 一带一路 产创平台\\n\\n国内) 本地) 国际)\\n\\n:   北京 上海 成都 杭州 南京 天津 深圳 重庆 西安 广州 青岛 武汉\\n\\n:   故宫 阳朔漓江 龙门石窟 野三坡 颐和园 九寨沟 东方明珠 凤凰古城 秦始皇陵 桃花源\\n\\n高球\\n:   佘山 春城湖畔 华彬庄园 观澜湖 依必朗 旭宝 博鳌 玉龙雪山 番禺南沙 东方明珠\\n\\n<<返回 全国\\n\\n河北下辖区域\\n\\n热门城市\\n\\n:   曼谷 东京 首尔 吉隆坡 新加坡 巴黎 罗马 伦敦 雅典 柏林 纽约 温哥华 墨西哥城 哈瓦那 圣何塞 巴西利亚 布宜诺斯艾利斯 圣地亚哥 利马 基多 悉尼 墨尔本 惠灵顿 奥克兰 苏瓦 开罗 内罗毕 开普敦 维多利亚 拉巴特\\n\\n:   亚洲 欧洲 北美洲 南美洲 非洲 大洋洲\\n\\n全国> 广东 > 汕头> 城区\\n\\n 今天\\n 7天\\n 8-15天\\n 40天\\n 雷达图\\n\\n # 14日（今天）\\n\\n  晴转多云\\n\\n  26/20℃\\n\\n  <3级\\n # 15日（明天）', 'score': 0.9971771}]\u001B[0m\u001B[32;1m\u001B[1;3mI need to extract the weather information for Shantou tomorrow from the search results.\n",
      "\n",
      "The search results indicate that tomorrow (15th) in Shantou, the weather is expected to be partly cloudy with a high of 26°C and a low of 20°C.\n",
      "\n",
      "Thought: I now know the final answer.\n",
      "Final Answer: 汕头明天的天气预报是多云，最高气温约为26°C，最低气温约为20°C。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '汕头呢？', 'chat_history': [HumanMessage(content='深圳明天的天气怎么样？', additional_kwargs={}, response_metadata={}), AIMessage(content='深圳明天的天气预报是早上多云，下午有云和阳光，最高气温约为81°F（约27°C）。', additional_kwargs={}, response_metadata={}), HumanMessage(content='汕头呢？', additional_kwargs={}, response_metadata={}), AIMessage(content='汕头明天的天气预报是多云，最高气温约为26°C，最低气温约为20°C。', additional_kwargs={}, response_metadata={})], 'output': '汕头明天的天气预报是多云，最高气温约为26°C，最低气温约为20°C。'}\n"
     ]
    }
   ],
   "execution_count": 44
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## 举例3：远程获取提示词模板\n",
    "- 以通用方式create_xxx_agent的ReAct模式为例，FUNCATION_CALL一样\n",
    "- 远程的提示词模版通过https://smith.langchain.com/hub/hwchase17获取\n",
    "    - 举例：https://smith.langchain.com/hub/hwchase17/react-chat，这个模板是专为聊天场景设计的ReAct提示模板。这个模板中已经有聊天对话键 chat_history、 agent_scratchpad"
   ],
   "id": "60036c2b73ce6748"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-11-17T01:27:28.307963Z",
     "start_time": "2025-11-17T01:27:04.100299Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from langchain.hub import pull\n",
    "from langchain.tools import Tool\n",
    "from langchain_community.tools.tavily_search import TavilySearchResults\n",
    "from langchain.memory import ConversationBufferMemory\n",
    "\n",
    "import os\n",
    "\n",
    "dotenv.load_dotenv(override=True)\n",
    "os.environ[\"TAVILY_API_KEY\"] = os.getenv(\"TAVILY_API_KEY\")\n",
    "\n",
    "search_define = TavilySearchResults(max_results=1)\n",
    "SEARCH_TOOL = Tool(name=\"TavilySearch\", func=search_define.run, description=\"用于搜索互联网上的信息\")\n",
    "\n",
    "prompt = pull(\"hwchase17/react-chat\")\n",
    "\n",
    "memory = ConversationBufferMemory(return_messages=True, memory_key=\"chat_history\")\n",
    "\n",
    "agent = create_react_agent(llm=CHAT_MODEL, tools=[SEARCH_TOOL], prompt=prompt)\n",
    "\n",
    "agent_executor = AgentExecutor(agent=agent, tools=[SEARCH_TOOL], memory=memory, verbose=True)\n",
    "\n",
    "result = agent_executor.invoke({\"input\": \"深圳明天的天气怎么样？\"})\n",
    "print(f\"查询结果: {result}\")\n",
    "\n",
    "agent_executor.invoke({\"input\": \"汕头呢？\"})\n",
    "print(f\"查询结果: {result}\")\n"
   ],
   "id": "f41952611671673f",
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Environment\\Conda\\envs\\pyth310\\lib\\site-packages\\langsmith\\client.py:272: LangSmithMissingAPIKeyWarning: API key must be provided when using hosted LangSmith API\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m```\n",
      "Thought: Do I need to use a tool? Yes\n",
      "Action: TavilySearch\n",
      "Action Input: \"深圳明天的天气预报\"\n",
      "```\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '天气实况与预报-深圳市气象局（台）', 'url': 'https://weather.sz.gov.cn/mobile/qixiangfuwu/yubaofuwu/jinmingtianqiyubao/', 'content': '【深圳天气趋势】14-16日多云到晴天，空气干燥，气温逐日回升，早晚清凉；17日白天温暖，傍晚起受冷空气影响，夜间风力加大、气温下降；18-20日阴天到多云，其中18日局地有零星小雨，体感较冷。深圳市气象台2025年11月13日14:00发布。 \\n\\n 深圳逐时预报 \\n\\n11月13日 15:52 更新\\n\\n福田区Image 53Image 54\\n\\n罗湖区 福田区 南山区 宝安区 龙岗区 龙华区 光明区 坪山区 盐田区 大鹏区 深汕\\n\\nImage 55: 阴天间多云，空气干燥\\n\\n19-25℃\\n\\n阴天转多云，空气干燥\\n\\n   50-80\\n湿度 %\\n\\n   0\\n日雨量 mm\\n\\n   东北\\n风向\\n\\n   3\\n风速 级\\n\\n   16时\\n\\nImage 56: 多云间晴天，空气干燥\\n多云\\n\\n   17时\\n\\nImage 57: 多云间晴天，空气干燥\\n多云\\n\\n   18时\\n\\nImage 58: 阴天间多云，空气干燥\\n阴\\n\\n   19时\\n\\nImage 59: 阴天间多云，空气干燥\\n阴\\n\\n   20时\\n\\nImage 60: 阴天间多云，空气干燥\\n阴\\n\\n   21时 [...] Image 61: 阴天间多云，空气干燥\\n阴\\n\\n   22时\\n\\nImage 62: 阴天间多云，空气干燥\\n阴\\n\\n   23时\\n\\nImage 63: 阴天间多云，空气干燥\\n阴\\n\\n   00时\\n\\nImage 64: 阴天间多云，空气干燥\\n阴\\n\\n   01时\\n\\nImage 65: 阴天间多云，空气干燥\\n阴\\n\\n   02时\\n\\nImage 66: 阴天间多云，空气干燥\\n阴\\n\\n   03时\\n\\nImage 67: 阴天间多云，空气干燥\\n阴\\n\\n 深圳未来十天预报 \\n\\n11月13日 14:54 更新\\n\\n   明天\\n\\n11月14Image 68: 多云间晴天，空气干燥\\n阴天转多云，空气干燥\\n\\nImage 69\\n东北风\\n\\n3级50-80%\\n   周六\\n\\n11月15Image 70: 多云间晴天，空气干燥\\n多云间晴天，空气干燥\\n\\nImage 71\\n东北风\\n\\n2-3级50-80%\\n   周日\\n\\n11月16Image 72: 晴天间少云，空气干燥\\n晴天间少云，空气干燥\\n\\nImage 73\\n东北风\\n\\n2-3级45-75%\\n   周一\\n\\n11月17Image 74: 多云间晴天，空气干燥\\n多云间晴天，空气干燥', 'score': 0.9975274}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? No  \n",
      "Final Answer: 明天（11月14日）深圳的天气预报是阴天转多云，空气干燥，气温在19-25℃之间，风速为3级，湿度在50-80%之间。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '深圳明天的天气怎么样？', 'chat_history': [HumanMessage(content='深圳明天的天气怎么样？', additional_kwargs={}, response_metadata={}), AIMessage(content='明天（11月14日）深圳的天气预报是阴天转多云，空气干燥，气温在19-25℃之间，风速为3级，湿度在50-80%之间。', additional_kwargs={}, response_metadata={})], 'output': '明天（11月14日）深圳的天气预报是阴天转多云，空气干燥，气温在19-25℃之间，风速为3级，湿度在50-80%之间。'}\n",
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m```\n",
      "Thought: Do I need to use a tool? Yes\n",
      "Action: TavilySearch\n",
      "Action Input: 汕头 2023年11月15日天气预报\n",
      "```\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '汕头2025年11月历史天气', 'url': 'https://tianqi.2345.com/wea_history/59316.htm', 'content': '2011年\\n 2012年\\n 2013年\\n 2014年\\n 2015年\\n 2016年\\n 2017年\\n 2018年\\n 2019年\\n 2020年\\n 2021年\\n 2022年\\n 2023年\\n 2024年\\n 2025年\\n\\n8月\\n\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n\\n 平均高温：32°    平均低温：27°\\n 极端高温：36°(2025-08-13)\\n 极端低温：25°(2025-08-03)\\n 平均空气质量指数：24\\n 空气最好：14 优(08月10日)\\n 空气最差：48优(08月22日) [...] 北京天气\\n 上海天气\\n 西安天气\\n 沈阳天气\\n 天津天气\\n 重庆天气\\n 徐州天气\\n 平顶山天气\\n 海宁天气\\n 东莞天气\\n 襄阳天气\\n 海安天气\\n 瓦房店天气\\n 信阳天气\\n 吉林天气\\n 嫩江天气\\n 滑县天气\\n 珠海天气\\n 定州天气\\n 淮南天气\\n 平度天气\\n 佳木斯天气\\n 淮北天气\\n 本溪天气\\n 汕头天气\\n 呼和浩特天气\\n 潍坊天气\\n 德阳天气\\n 福州天气\\n 南通天气\\n 包头天气\\n 张家港天气\\n 富锦天气\\n 敦化天气\\n 滨州天气\\n 沧州天气\\n\\n 池州天气\\n 晋城天气\\n 苏州天气\\n 来宾天气\\n 甘孜天气\\n 白山天气\\n 盘锦天气\\n 克州天气\\n 徐州天气\\n 安庆天气\\n 仙桃天气\\n 长春天气\\n 图木舒克天气\\n 屏东天气\\n 兰州天气\\n 晋中天气\\n 黔西南天气\\n 广州天气\\n 钦州天气\\n 淮安天气\\n 内江天气\\n 益阳天气\\n 宁德天气\\n 德阳天气\\n 文山天气\\n 郴州天气\\n 兴安盟天气\\n 玉溪天气\\n 钓鱼岛天气\\n 枣庄天气 [...] A 安徽\\n A 澳门\\n B 北京\\n C 重庆\\n F 福建\\n G 甘肃\\n G 广东\\n G 广西\\n G 贵州\\n H 海南\\n H 河北\\n H 河南\\n H 黑龙江\\n H 湖北\\n H 湖南\\n J 吉林\\n J 江苏\\n J 江西\\n L 辽宁\\n N 内蒙古\\n N 宁夏\\n Q 青海\\n S 山东\\n S 山西\\n S 陕西\\n S 上海\\n S 四川\\n T 台湾\\n T 天津\\n X 西藏\\n X 香港\\n X 新疆\\n Y 云南\\n Z 浙江\\n\\nS 汕头\\n\\n G 广州\\n C 潮州\\n D 东莞\\n F 佛山\\n H 河源\\n H 惠州\\n J 江门\\n J 揭阳\\n M 梅州\\n M 茂名\\n Q 清远\\n S 汕头\\n S 深圳\\n S 汕尾\\n S 韶关\\n Y 云浮\\n Y 阳江\\n Z 肇庆\\n Z 中山\\n Z 珠海\\n Z 湛江\\n\\nS 汕头\\n\\n S 汕头\\n C 潮阳\\n C 澄海\\n C 潮南\\n H 濠江\\n J 金平\\n L 龙湖\\n N 南澳\\n\\n设为默认城市\\n\\n确定\\n取消\\n\\n切换国际城市\\n\\n非洲\\n\\n 非洲\\n 美洲\\n 亚洲\\n 欧洲\\n 大洋洲\\n\\nA 阿尔及利亚', 'score': 0.715424}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? Yes  \n",
      "Action: TavilySearch  \n",
      "Action Input: 汕头 2023年11月15日天气预报  \n",
      "\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '汕头2025年11月历史天气', 'url': 'https://tianqi.2345.com/wea_history/59316.htm', 'content': '2011年\\n 2012年\\n 2013年\\n 2014年\\n 2015年\\n 2016年\\n 2017年\\n 2018年\\n 2019年\\n 2020年\\n 2021年\\n 2022年\\n 2023年\\n 2024年\\n 2025年\\n\\n8月\\n\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n\\n 平均高温：32°    平均低温：27°\\n 极端高温：36°(2025-08-13)\\n 极端低温：25°(2025-08-03)\\n 平均空气质量指数：24\\n 空气最好：14 优(08月10日)\\n 空气最差：48优(08月22日) [...] 北京天气\\n 上海天气\\n 西安天气\\n 沈阳天气\\n 天津天气\\n 重庆天气\\n 徐州天气\\n 平顶山天气\\n 海宁天气\\n 东莞天气\\n 襄阳天气\\n 海安天气\\n 瓦房店天气\\n 信阳天气\\n 吉林天气\\n 嫩江天气\\n 滑县天气\\n 珠海天气\\n 定州天气\\n 淮南天气\\n 平度天气\\n 佳木斯天气\\n 淮北天气\\n 本溪天气\\n 汕头天气\\n 呼和浩特天气\\n 潍坊天气\\n 德阳天气\\n 福州天气\\n 南通天气\\n 包头天气\\n 张家港天气\\n 富锦天气\\n 敦化天气\\n 滨州天气\\n 沧州天气\\n\\n 池州天气\\n 晋城天气\\n 苏州天气\\n 来宾天气\\n 甘孜天气\\n 白山天气\\n 盘锦天气\\n 克州天气\\n 徐州天气\\n 安庆天气\\n 仙桃天气\\n 长春天气\\n 图木舒克天气\\n 屏东天气\\n 兰州天气\\n 晋中天气\\n 黔西南天气\\n 广州天气\\n 钦州天气\\n 淮安天气\\n 内江天气\\n 益阳天气\\n 宁德天气\\n 德阳天气\\n 文山天气\\n 郴州天气\\n 兴安盟天气\\n 玉溪天气\\n 钓鱼岛天气\\n 枣庄天气 [...] 2345加速浏览器 >\\n直接下载更新IE浏览器 >\\n\\n扫码下载APP，天气随时看\\n\\n安卓下载\\nApp Store\\n\\n 首页\\n 全国天气\\n\\n  :   15天天气\\n  :   今天天气\\n  :   明天天气\\n  :   一周天气\\n  :   40天天气\\n 空气质量\\n 天气视频\\n 历史天气\\n 国际天气\\n 专业天气\\n\\n  :   降水量预报\\n  :   气温预报\\n  :   卫星云图\\n  :   气象雷达\\n  :   空气质量实况\\n  :   雾霾预报\\n  :   空气污染预报\\n  :   交通气象\\n 天气生活\\n\\n  :   天气资讯\\n  :   交通出行\\n  :   世界时间\\n  :   万年历\\n  :   景点天气\\n\\n当前：\\n天气预报>\\n汕头市历史天气\\n\\n猜你喜欢：\\n\\n# 汕头市历史天气\\n\\n切换国内城市\\n\\nG 广东', 'score': 0.5851011}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? Yes  \n",
      "Action: TavilySearch  \n",
      "Action Input: 汕头 2023年11月15日天气预报  \u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '汕头2025年11月历史天气', 'url': 'https://tianqi.2345.com/wea_history/59316.htm', 'content': '2011年\\n 2012年\\n 2013年\\n 2014年\\n 2015年\\n 2016年\\n 2017年\\n 2018年\\n 2019年\\n 2020年\\n 2021年\\n 2022年\\n 2023年\\n 2024年\\n 2025年\\n\\n8月\\n\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n\\n 平均高温：32°    平均低温：27°\\n 极端高温：36°(2025-08-13)\\n 极端低温：25°(2025-08-03)\\n 平均空气质量指数：24\\n 空气最好：14 优(08月10日)\\n 空气最差：48优(08月22日) [...] 北京天气\\n 上海天气\\n 西安天气\\n 沈阳天气\\n 天津天气\\n 重庆天气\\n 徐州天气\\n 平顶山天气\\n 海宁天气\\n 东莞天气\\n 襄阳天气\\n 海安天气\\n 瓦房店天气\\n 信阳天气\\n 吉林天气\\n 嫩江天气\\n 滑县天气\\n 珠海天气\\n 定州天气\\n 淮南天气\\n 平度天气\\n 佳木斯天气\\n 淮北天气\\n 本溪天气\\n 汕头天气\\n 呼和浩特天气\\n 潍坊天气\\n 德阳天气\\n 福州天气\\n 南通天气\\n 包头天气\\n 张家港天气\\n 富锦天气\\n 敦化天气\\n 滨州天气\\n 沧州天气\\n\\n 池州天气\\n 晋城天气\\n 苏州天气\\n 来宾天气\\n 甘孜天气\\n 白山天气\\n 盘锦天气\\n 克州天气\\n 徐州天气\\n 安庆天气\\n 仙桃天气\\n 长春天气\\n 图木舒克天气\\n 屏东天气\\n 兰州天气\\n 晋中天气\\n 黔西南天气\\n 广州天气\\n 钦州天气\\n 淮安天气\\n 内江天气\\n 益阳天气\\n 宁德天气\\n 德阳天气\\n 文山天气\\n 郴州天气\\n 兴安盟天气\\n 玉溪天气\\n 钓鱼岛天气\\n 枣庄天气 [...] 2345加速浏览器 >\\n直接下载更新IE浏览器 >\\n\\n扫码下载APP，天气随时看\\n\\n安卓下载\\nApp Store\\n\\n 首页\\n 全国天气\\n\\n  :   15天天气\\n  :   今天天气\\n  :   明天天气\\n  :   一周天气\\n  :   40天天气\\n 空气质量\\n 天气视频\\n 历史天气\\n 国际天气\\n 专业天气\\n\\n  :   降水量预报\\n  :   气温预报\\n  :   卫星云图\\n  :   气象雷达\\n  :   空气质量实况\\n  :   雾霾预报\\n  :   空气污染预报\\n  :   交通气象\\n 天气生活\\n\\n  :   天气资讯\\n  :   交通出行\\n  :   世界时间\\n  :   万年历\\n  :   景点天气\\n\\n当前：\\n天气预报>\\n汕头市历史天气\\n\\n猜你喜欢：\\n\\n# 汕头市历史天气\\n\\n切换国内城市\\n\\nG 广东', 'score': 0.5851011}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? Yes  \n",
      "Action: TavilySearch  \n",
      "Action Input: 汕头 2023年11月15日天气预报  \u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '汕头2025年11月历史天气', 'url': 'https://tianqi.2345.com/wea_history/59316.htm', 'content': '2011年\\n 2012年\\n 2013年\\n 2014年\\n 2015年\\n 2016年\\n 2017年\\n 2018年\\n 2019年\\n 2020年\\n 2021年\\n 2022年\\n 2023年\\n 2024年\\n 2025年\\n\\n8月\\n\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n\\n 平均高温：32°    平均低温：27°\\n 极端高温：36°(2025-08-13)\\n 极端低温：25°(2025-08-03)\\n 平均空气质量指数：24\\n 空气最好：14 优(08月10日)\\n 空气最差：48优(08月22日) [...] 北京天气\\n 上海天气\\n 西安天气\\n 沈阳天气\\n 天津天气\\n 重庆天气\\n 徐州天气\\n 平顶山天气\\n 海宁天气\\n 东莞天气\\n 襄阳天气\\n 海安天气\\n 瓦房店天气\\n 信阳天气\\n 吉林天气\\n 嫩江天气\\n 滑县天气\\n 珠海天气\\n 定州天气\\n 淮南天气\\n 平度天气\\n 佳木斯天气\\n 淮北天气\\n 本溪天气\\n 汕头天气\\n 呼和浩特天气\\n 潍坊天气\\n 德阳天气\\n 福州天气\\n 南通天气\\n 包头天气\\n 张家港天气\\n 富锦天气\\n 敦化天气\\n 滨州天气\\n 沧州天气\\n\\n 池州天气\\n 晋城天气\\n 苏州天气\\n 来宾天气\\n 甘孜天气\\n 白山天气\\n 盘锦天气\\n 克州天气\\n 徐州天气\\n 安庆天气\\n 仙桃天气\\n 长春天气\\n 图木舒克天气\\n 屏东天气\\n 兰州天气\\n 晋中天气\\n 黔西南天气\\n 广州天气\\n 钦州天气\\n 淮安天气\\n 内江天气\\n 益阳天气\\n 宁德天气\\n 德阳天气\\n 文山天气\\n 郴州天气\\n 兴安盟天气\\n 玉溪天气\\n 钓鱼岛天气\\n 枣庄天气 [...] 2345加速浏览器 >\\n直接下载更新IE浏览器 >\\n\\n扫码下载APP，天气随时看\\n\\n安卓下载\\nApp Store\\n\\n 首页\\n 全国天气\\n\\n  :   15天天气\\n  :   今天天气\\n  :   明天天气\\n  :   一周天气\\n  :   40天天气\\n 空气质量\\n 天气视频\\n 历史天气\\n 国际天气\\n 专业天气\\n\\n  :   降水量预报\\n  :   气温预报\\n  :   卫星云图\\n  :   气象雷达\\n  :   空气质量实况\\n  :   雾霾预报\\n  :   空气污染预报\\n  :   交通气象\\n 天气生活\\n\\n  :   天气资讯\\n  :   交通出行\\n  :   世界时间\\n  :   万年历\\n  :   景点天气\\n\\n当前：\\n天气预报>\\n汕头市历史天气\\n\\n猜你喜欢：\\n\\n# 汕头市历史天气\\n\\n切换国内城市\\n\\nG 广东', 'score': 0.5851011}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? Yes  \n",
      "Action: TavilySearch  \n",
      "Action Input: 汕头 2023年11月15日天气预报  \u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '汕头2025年11月历史天气', 'url': 'https://tianqi.2345.com/wea_history/59316.htm', 'content': '2011年\\n 2012年\\n 2013年\\n 2014年\\n 2015年\\n 2016年\\n 2017年\\n 2018年\\n 2019年\\n 2020年\\n 2021年\\n 2022年\\n 2023年\\n 2024年\\n 2025年\\n\\n8月\\n\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n\\n 平均高温：32°    平均低温：27°\\n 极端高温：36°(2025-08-13)\\n 极端低温：25°(2025-08-03)\\n 平均空气质量指数：24\\n 空气最好：14 优(08月10日)\\n 空气最差：48优(08月22日) [...] 北京天气\\n 上海天气\\n 西安天气\\n 沈阳天气\\n 天津天气\\n 重庆天气\\n 徐州天气\\n 平顶山天气\\n 海宁天气\\n 东莞天气\\n 襄阳天气\\n 海安天气\\n 瓦房店天气\\n 信阳天气\\n 吉林天气\\n 嫩江天气\\n 滑县天气\\n 珠海天气\\n 定州天气\\n 淮南天气\\n 平度天气\\n 佳木斯天气\\n 淮北天气\\n 本溪天气\\n 汕头天气\\n 呼和浩特天气\\n 潍坊天气\\n 德阳天气\\n 福州天气\\n 南通天气\\n 包头天气\\n 张家港天气\\n 富锦天气\\n 敦化天气\\n 滨州天气\\n 沧州天气\\n\\n 池州天气\\n 晋城天气\\n 苏州天气\\n 来宾天气\\n 甘孜天气\\n 白山天气\\n 盘锦天气\\n 克州天气\\n 徐州天气\\n 安庆天气\\n 仙桃天气\\n 长春天气\\n 图木舒克天气\\n 屏东天气\\n 兰州天气\\n 晋中天气\\n 黔西南天气\\n 广州天气\\n 钦州天气\\n 淮安天气\\n 内江天气\\n 益阳天气\\n 宁德天气\\n 德阳天气\\n 文山天气\\n 郴州天气\\n 兴安盟天气\\n 玉溪天气\\n 钓鱼岛天气\\n 枣庄天气 [...] 2345加速浏览器 >\\n直接下载更新IE浏览器 >\\n\\n扫码下载APP，天气随时看\\n\\n安卓下载\\nApp Store\\n\\n 首页\\n 全国天气\\n\\n  :   15天天气\\n  :   今天天气\\n  :   明天天气\\n  :   一周天气\\n  :   40天天气\\n 空气质量\\n 天气视频\\n 历史天气\\n 国际天气\\n 专业天气\\n\\n  :   降水量预报\\n  :   气温预报\\n  :   卫星云图\\n  :   气象雷达\\n  :   空气质量实况\\n  :   雾霾预报\\n  :   空气污染预报\\n  :   交通气象\\n 天气生活\\n\\n  :   天气资讯\\n  :   交通出行\\n  :   世界时间\\n  :   万年历\\n  :   景点天气\\n\\n当前：\\n天气预报>\\n汕头市历史天气\\n\\n猜你喜欢：\\n\\n# 汕头市历史天气\\n\\n切换国内城市\\n\\nG 广东', 'score': 0.5851011}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? Yes  \n",
      "Action: TavilySearch  \n",
      "Action Input: 汕头 2023年11月15日天气预报  \u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '汕头2025年11月历史天气', 'url': 'https://tianqi.2345.com/wea_history/59316.htm', 'content': '2011年\\n 2012年\\n 2013年\\n 2014年\\n 2015年\\n 2016年\\n 2017年\\n 2018年\\n 2019年\\n 2020年\\n 2021年\\n 2022年\\n 2023年\\n 2024年\\n 2025年\\n\\n8月\\n\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n\\n 平均高温：32°    平均低温：27°\\n 极端高温：36°(2025-08-13)\\n 极端低温：25°(2025-08-03)\\n 平均空气质量指数：24\\n 空气最好：14 优(08月10日)\\n 空气最差：48优(08月22日) [...] 北京天气\\n 上海天气\\n 西安天气\\n 沈阳天气\\n 天津天气\\n 重庆天气\\n 徐州天气\\n 平顶山天气\\n 海宁天气\\n 东莞天气\\n 襄阳天气\\n 海安天气\\n 瓦房店天气\\n 信阳天气\\n 吉林天气\\n 嫩江天气\\n 滑县天气\\n 珠海天气\\n 定州天气\\n 淮南天气\\n 平度天气\\n 佳木斯天气\\n 淮北天气\\n 本溪天气\\n 汕头天气\\n 呼和浩特天气\\n 潍坊天气\\n 德阳天气\\n 福州天气\\n 南通天气\\n 包头天气\\n 张家港天气\\n 富锦天气\\n 敦化天气\\n 滨州天气\\n 沧州天气\\n\\n 池州天气\\n 晋城天气\\n 苏州天气\\n 来宾天气\\n 甘孜天气\\n 白山天气\\n 盘锦天气\\n 克州天气\\n 徐州天气\\n 安庆天气\\n 仙桃天气\\n 长春天气\\n 图木舒克天气\\n 屏东天气\\n 兰州天气\\n 晋中天气\\n 黔西南天气\\n 广州天气\\n 钦州天气\\n 淮安天气\\n 内江天气\\n 益阳天气\\n 宁德天气\\n 德阳天气\\n 文山天气\\n 郴州天气\\n 兴安盟天气\\n 玉溪天气\\n 钓鱼岛天气\\n 枣庄天气 [...] 2345加速浏览器 >\\n直接下载更新IE浏览器 >\\n\\n扫码下载APP，天气随时看\\n\\n安卓下载\\nApp Store\\n\\n 首页\\n 全国天气\\n\\n  :   15天天气\\n  :   今天天气\\n  :   明天天气\\n  :   一周天气\\n  :   40天天气\\n 空气质量\\n 天气视频\\n 历史天气\\n 国际天气\\n 专业天气\\n\\n  :   降水量预报\\n  :   气温预报\\n  :   卫星云图\\n  :   气象雷达\\n  :   空气质量实况\\n  :   雾霾预报\\n  :   空气污染预报\\n  :   交通气象\\n 天气生活\\n\\n  :   天气资讯\\n  :   交通出行\\n  :   世界时间\\n  :   万年历\\n  :   景点天气\\n\\n当前：\\n天气预报>\\n汕头市历史天气\\n\\n猜你喜欢：\\n\\n# 汕头市历史天气\\n\\n切换国内城市\\n\\nG 广东', 'score': 0.5851011}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? Yes  \n",
      "Action: TavilySearch  \n",
      "Action Input: 汕头 2023年11月15日天气预报  \u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '汕头2025年11月历史天气', 'url': 'https://tianqi.2345.com/wea_history/59316.htm', 'content': '2011年\\n 2012年\\n 2013年\\n 2014年\\n 2015年\\n 2016年\\n 2017年\\n 2018年\\n 2019年\\n 2020年\\n 2021年\\n 2022年\\n 2023年\\n 2024年\\n 2025年\\n\\n8月\\n\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n\\n 平均高温：32°    平均低温：27°\\n 极端高温：36°(2025-08-13)\\n 极端低温：25°(2025-08-03)\\n 平均空气质量指数：24\\n 空气最好：14 优(08月10日)\\n 空气最差：48优(08月22日) [...] 北京天气\\n 上海天气\\n 西安天气\\n 沈阳天气\\n 天津天气\\n 重庆天气\\n 徐州天气\\n 平顶山天气\\n 海宁天气\\n 东莞天气\\n 襄阳天气\\n 海安天气\\n 瓦房店天气\\n 信阳天气\\n 吉林天气\\n 嫩江天气\\n 滑县天气\\n 珠海天气\\n 定州天气\\n 淮南天气\\n 平度天气\\n 佳木斯天气\\n 淮北天气\\n 本溪天气\\n 汕头天气\\n 呼和浩特天气\\n 潍坊天气\\n 德阳天气\\n 福州天气\\n 南通天气\\n 包头天气\\n 张家港天气\\n 富锦天气\\n 敦化天气\\n 滨州天气\\n 沧州天气\\n\\n 池州天气\\n 晋城天气\\n 苏州天气\\n 来宾天气\\n 甘孜天气\\n 白山天气\\n 盘锦天气\\n 克州天气\\n 徐州天气\\n 安庆天气\\n 仙桃天气\\n 长春天气\\n 图木舒克天气\\n 屏东天气\\n 兰州天气\\n 晋中天气\\n 黔西南天气\\n 广州天气\\n 钦州天气\\n 淮安天气\\n 内江天气\\n 益阳天气\\n 宁德天气\\n 德阳天气\\n 文山天气\\n 郴州天气\\n 兴安盟天气\\n 玉溪天气\\n 钓鱼岛天气\\n 枣庄天气 [...] 2345加速浏览器 >\\n直接下载更新IE浏览器 >\\n\\n扫码下载APP，天气随时看\\n\\n安卓下载\\nApp Store\\n\\n 首页\\n 全国天气\\n\\n  :   15天天气\\n  :   今天天气\\n  :   明天天气\\n  :   一周天气\\n  :   40天天气\\n 空气质量\\n 天气视频\\n 历史天气\\n 国际天气\\n 专业天气\\n\\n  :   降水量预报\\n  :   气温预报\\n  :   卫星云图\\n  :   气象雷达\\n  :   空气质量实况\\n  :   雾霾预报\\n  :   空气污染预报\\n  :   交通气象\\n 天气生活\\n\\n  :   天气资讯\\n  :   交通出行\\n  :   世界时间\\n  :   万年历\\n  :   景点天气\\n\\n当前：\\n天气预报>\\n汕头市历史天气\\n\\n猜你喜欢：\\n\\n# 汕头市历史天气\\n\\n切换国内城市\\n\\nG 广东', 'score': 0.5851011}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? Yes  \n",
      "Action: TavilySearch  \n",
      "Action Input: 汕头 2023年11月15日天气预报  \u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '汕头2025年11月历史天气', 'url': 'https://tianqi.2345.com/wea_history/59316.htm', 'content': '2011年\\n 2012年\\n 2013年\\n 2014年\\n 2015年\\n 2016年\\n 2017年\\n 2018年\\n 2019年\\n 2020年\\n 2021年\\n 2022年\\n 2023年\\n 2024年\\n 2025年\\n\\n8月\\n\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n\\n 平均高温：32°    平均低温：27°\\n 极端高温：36°(2025-08-13)\\n 极端低温：25°(2025-08-03)\\n 平均空气质量指数：24\\n 空气最好：14 优(08月10日)\\n 空气最差：48优(08月22日) [...] 北京天气\\n 上海天气\\n 西安天气\\n 沈阳天气\\n 天津天气\\n 重庆天气\\n 徐州天气\\n 平顶山天气\\n 海宁天气\\n 东莞天气\\n 襄阳天气\\n 海安天气\\n 瓦房店天气\\n 信阳天气\\n 吉林天气\\n 嫩江天气\\n 滑县天气\\n 珠海天气\\n 定州天气\\n 淮南天气\\n 平度天气\\n 佳木斯天气\\n 淮北天气\\n 本溪天气\\n 汕头天气\\n 呼和浩特天气\\n 潍坊天气\\n 德阳天气\\n 福州天气\\n 南通天气\\n 包头天气\\n 张家港天气\\n 富锦天气\\n 敦化天气\\n 滨州天气\\n 沧州天气\\n\\n 池州天气\\n 晋城天气\\n 苏州天气\\n 来宾天气\\n 甘孜天气\\n 白山天气\\n 盘锦天气\\n 克州天气\\n 徐州天气\\n 安庆天气\\n 仙桃天气\\n 长春天气\\n 图木舒克天气\\n 屏东天气\\n 兰州天气\\n 晋中天气\\n 黔西南天气\\n 广州天气\\n 钦州天气\\n 淮安天气\\n 内江天气\\n 益阳天气\\n 宁德天气\\n 德阳天气\\n 文山天气\\n 郴州天气\\n 兴安盟天气\\n 玉溪天气\\n 钓鱼岛天气\\n 枣庄天气 [...] 2345加速浏览器 >\\n直接下载更新IE浏览器 >\\n\\n扫码下载APP，天气随时看\\n\\n安卓下载\\nApp Store\\n\\n 首页\\n 全国天气\\n\\n  :   15天天气\\n  :   今天天气\\n  :   明天天气\\n  :   一周天气\\n  :   40天天气\\n 空气质量\\n 天气视频\\n 历史天气\\n 国际天气\\n 专业天气\\n\\n  :   降水量预报\\n  :   气温预报\\n  :   卫星云图\\n  :   气象雷达\\n  :   空气质量实况\\n  :   雾霾预报\\n  :   空气污染预报\\n  :   交通气象\\n 天气生活\\n\\n  :   天气资讯\\n  :   交通出行\\n  :   世界时间\\n  :   万年历\\n  :   景点天气\\n\\n当前：\\n天气预报>\\n汕头市历史天气\\n\\n猜你喜欢：\\n\\n# 汕头市历史天气\\n\\n切换国内城市\\n\\nG 广东', 'score': 0.5851011}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? Yes  \n",
      "Action: TavilySearch  \n",
      "Action Input: 汕头 2023年11月15日天气预报  \u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '汕头2025年11月历史天气', 'url': 'https://tianqi.2345.com/wea_history/59316.htm', 'content': '2011年\\n 2012年\\n 2013年\\n 2014年\\n 2015年\\n 2016年\\n 2017年\\n 2018年\\n 2019年\\n 2020年\\n 2021年\\n 2022年\\n 2023年\\n 2024年\\n 2025年\\n\\n8月\\n\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n\\n 平均高温：32°    平均低温：27°\\n 极端高温：36°(2025-08-13)\\n 极端低温：25°(2025-08-03)\\n 平均空气质量指数：24\\n 空气最好：14 优(08月10日)\\n 空气最差：48优(08月22日) [...] 北京天气\\n 上海天气\\n 西安天气\\n 沈阳天气\\n 天津天气\\n 重庆天气\\n 徐州天气\\n 平顶山天气\\n 海宁天气\\n 东莞天气\\n 襄阳天气\\n 海安天气\\n 瓦房店天气\\n 信阳天气\\n 吉林天气\\n 嫩江天气\\n 滑县天气\\n 珠海天气\\n 定州天气\\n 淮南天气\\n 平度天气\\n 佳木斯天气\\n 淮北天气\\n 本溪天气\\n 汕头天气\\n 呼和浩特天气\\n 潍坊天气\\n 德阳天气\\n 福州天气\\n 南通天气\\n 包头天气\\n 张家港天气\\n 富锦天气\\n 敦化天气\\n 滨州天气\\n 沧州天气\\n\\n 池州天气\\n 晋城天气\\n 苏州天气\\n 来宾天气\\n 甘孜天气\\n 白山天气\\n 盘锦天气\\n 克州天气\\n 徐州天气\\n 安庆天气\\n 仙桃天气\\n 长春天气\\n 图木舒克天气\\n 屏东天气\\n 兰州天气\\n 晋中天气\\n 黔西南天气\\n 广州天气\\n 钦州天气\\n 淮安天气\\n 内江天气\\n 益阳天气\\n 宁德天气\\n 德阳天气\\n 文山天气\\n 郴州天气\\n 兴安盟天气\\n 玉溪天气\\n 钓鱼岛天气\\n 枣庄天气 [...] 2345加速浏览器 >\\n直接下载更新IE浏览器 >\\n\\n扫码下载APP，天气随时看\\n\\n安卓下载\\nApp Store\\n\\n 首页\\n 全国天气\\n\\n  :   15天天气\\n  :   今天天气\\n  :   明天天气\\n  :   一周天气\\n  :   40天天气\\n 空气质量\\n 天气视频\\n 历史天气\\n 国际天气\\n 专业天气\\n\\n  :   降水量预报\\n  :   气温预报\\n  :   卫星云图\\n  :   气象雷达\\n  :   空气质量实况\\n  :   雾霾预报\\n  :   空气污染预报\\n  :   交通气象\\n 天气生活\\n\\n  :   天气资讯\\n  :   交通出行\\n  :   世界时间\\n  :   万年历\\n  :   景点天气\\n\\n当前：\\n天气预报>\\n汕头市历史天气\\n\\n猜你喜欢：\\n\\n# 汕头市历史天气\\n\\n切换国内城市\\n\\nG 广东', 'score': 0.5851011}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? No  \n",
      "Final Answer: 我无法获取汕头明天（11月15日）的天气预报信息。请您查看天气预报网站或应用以获取最新的天气信息。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "查询结果: {'input': '深圳明天的天气怎么样？', 'chat_history': [HumanMessage(content='深圳明天的天气怎么样？', additional_kwargs={}, response_metadata={}), AIMessage(content='明天（11月14日）深圳的天气预报是阴天转多云，空气干燥，气温在19-25℃之间，风速为3级，湿度在50-80%之间。', additional_kwargs={}, response_metadata={}), HumanMessage(content='汕头呢？', additional_kwargs={}, response_metadata={}), AIMessage(content='我无法获取汕头明天（11月15日）的天气预报信息。请您查看天气预报网站或应用以获取最新的天气信息。', additional_kwargs={}, response_metadata={})], 'output': '明天（11月14日）深圳的天气预报是阴天转多云，空气干燥，气温在19-25℃之间，风速为3级，湿度在50-80%之间。'}\n"
     ]
    }
   ],
   "execution_count": 46
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
